好友
阅读权限10
听众
最后登录1970-1-1
|
具体是:比如一个表是汇总各个车间每日生产总数的,不同车间会生产相同的
具体字段为
id | 日期 | 零件A总产量 | 零件B总产量 | ………………
每天快下班前,由各个车间的管理员统计然后上传
首先,如果每个车间加上自己车间的数量时,都是update a_count = a_count+ 具体产量 这样的SQL肯定不会冲突
但我想求知,如果不用这种方式,而就是update为具体数值,怎么避免冲突? 比如 今日原始产量都是0, 1车间生产A10个,B10个, 2车间生成A5个,B 5个
如果正常不冲突时,1车间先获取表中数据都是0,然后update加上自己变成 10 10 , 然后2车间才打开软件,先获取现在产量是 10 10 ,然后加上自己的变 15 15 ,这是对的
但万一,它俩车间都打开软件,获取的初始都是0,然后这时 分别提交,那么后提交的肯定就把前面的覆盖了
——————————————
请问一般怎么解决,这个问题
我能想到的办法是如下的,不知道我这个办法就是大家实际使用的,还是我这个方法很山寨,请提供正常的嘴阀
我的做法
增加一个列,记录该条数据被修改的版本数(自增),提交时,SQL 语句 会where version = 之前自己加载数据时的,如果能修改,说明自己提交时,数据没别其他人改过,就可以直接改。否则不满足where修改不了任何一行,这时,客户端就可以主动获取最新version的数据,然后重新加上自己生产的进行提交 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|