نمیدونم با چه زبان یا برنامه ای کار میکنی .
مسلما با PHP دارم این کار را انجام میدم و البته از MySQL به عنوان DBMS
در رابطه با خود برنامه هم باید بگم که در جدولی که دارم (در دیتابیس) تعداد زیادی row وجود داره که هر کدام فیلدی به نام status وجود داره. وقتی کاربر وارد برنامه میشه اولین سطری که فیلد status آن برابر با 0 باشه SELECT میشه و کاربر میتونه اطلاعات آن رکورد را ویرایش کند. مشکل اینجا بروز میکنه که در برخی اوقات 2 کاربر اگر همزمان وارد سیستم بشوند هر دو یک رکورد را SELECT و ویرایش میکنند.
راه حلی که به ذهن خودم رسید این است که یک فیلد به جدول اضافه کنم (مثلا status_edit) و وقتی SELECT میزنم شرطی هم در SELECT قرار دهم که رکوردی که در حال edit هست SELECT نشود.
این راه حداقل یک ایراد داره. ایرادش این است که در صورتیکه کاربر بطور ناخواسته نتوانست تغییرات را ذخیره کند تکلیف چی هست؟! باید اسکریپت دیگری بنویسم که موارد این چنینی را با fix کند (با تغییر فیلد status_edit)؟!