Mysql原子更新一致性问题

moondreamyou 2014-11-14 03:07:32
这样的语句,同时由2个不同的系统执行,会不会有可能2个都同时成功(受影响行=1)?

UPDATE TB
SET Status='1'
WHERE ID='1001' AND Status='0'

PS:ID为主键,InnoDB,mysql5.3

如果会,如何避免同时成功?
...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayzen1988 2014-11-17
  • 打赏
  • 举报
回复
因为sql语句没问题,所以都会成功. 但是其中一个影响行数是1,另外一个影响行数是0。
moondreamyou 2014-11-17
  • 打赏
  • 举报
回复
我也觉得没什么问题,上次评审有人说这样有问题,虽然当时反驳了,但还是来问问各位确认一下。 PS:这里的“同时”,指DB同时执行这2条SQL语句。
rmn190 2014-11-15
  • 打赏
  • 举报
回复
引用 2 楼 micropentium6 的回复:
it depends the definition of "同时"...got be first in first serve
  • 打赏
  • 举报
回复
it depends the definition of "同时"...got be first in first serve
ACMAIN_CHM 2014-11-14
  • 打赏
  • 举报
回复
不会。 .

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧