多个用户同时操作数据库的同一条数据

1多个用户同时操作数据库的同一条数据时候

场景(问题)描述如下:

0,用户A、B同时打开一个页面,页面显示,客户表T_user字段(nname、age)姓名:张三,年龄:25
1,A 将姓名“张三”改为“张三1”,然后保存
2,B 将年龄“25”改为“30”,然后保存

这样A的操作就被覆盖了,姓名又变回“张三”了,这里给出一个较易用的解决方案,给表添加一字段:last_update_time,即最后更新时间,回放场景

0,用户A、B同时打开一页面,面页显示:姓名:张三,年龄:25,last_update_time:2020-7-14 13:45:00
1,A 将姓名“张三”改为“张三1”,然后保存重点在这里:更新数据时WHERE条件里多一条件:AND last_update_time = '2020-7-14 13:45:00'更新成功,此时触发器会将当前时间“2020-7-14 13:46:00”last_update_time
2,B 将将年龄“25”改为“30”,然后保存B更新数据时WHERE条件里也有这个条件:AND last_update_time = '2020-7-14 13:45:00',但此时LAST_UPDATE的值已经在A修改记录时变成2020-7-14 13:46:00

下面要做的就是给出提示了:此信息在你发呆这段时间已被人改过啦,所以你需要返工。

posted @ 2022-07-14 14:03    阅读(53)  评论(0编辑  收藏  举报