我创建了一个以VB.NET和MySQL作为数据库的咖啡销售系统。
在该系统中,用户可以更新自己的信息,例如名字,姓氏,BOD等。
但是,多个用户当前可能同时编辑同一数据集,我需要阻止这些数据集。
示例:
HRD在添加收银员的名字时打了一个错字,并希望改变它,同时收银员也希望改变它。
我想在这里做的是在他以编辑模式打开他的数据时通知收银员,其他人已经在编辑他的数据,例如通过显示"您的数据正在编辑"。
我读到我可以通过锁定表格,行等来做到这一点,然而,很多人说这是解决这个问题的一种不好的方法。
我正在寻找替代的,基于代码的解决方案的建议。
我用我的母语(印度尼西亚语)进行搜索,只有少数人写这篇文章并且什么都没带。
答案 0 :(得分:0)
执行此操作的一个好方法是在行上存储updated_at时间戳值,然后在选择要编辑的记录时检索该值。
更新时,请以updated_at匹配为条件。如果没有更改行,则向客户端返回错误,表明记录已更改,并为其提供比较更改的选项。尽量避免丢弃所有的更改,这会让用户发疯。