如果我创建如下
之类的SQL语句 UPDATE table SET a='000' WHERE b='Me!';
假设查询找到满足条件的行,是否有可能另一个事务更改字段' b'在我更新之前?
如果是这种情况,我假设我的交易在我尝试提交时会失败?
答案 0 :(得分:0)
如果另一个事务已更新且未提交具有b = Me!
的行,则您将遇到行锁定异常。如果已提交,则表示b值已更改,您的查询将不会影响该行。
第二个选项,您已经更新了行,另一个查询想要在提交之前更新该行。在这种情况下,第二个事务将获得行锁定错误。如果您已提交,则其他查询不会影响该行。
提交时不会收到任何错误消息或异常。如果有任何错误,您将在运行更新查询时获得。