如果我使用下面这样的SQL语句
UPDATE table SET a='000' WHERE b='Me!';
假设查询找到了满足条件的行,在我进行更新之前,另一个事务有可能更改字段'b‘的值吗?
如果是这样的话,我假设我的事务在我尝试提交时会失败?
发布于 2015-01-26 07:02:08
如果另一个事务已经更新,并且没有提交具有b = Me!
的行,则会出现行锁异常。如果它被提交,这意味着b值发生了变化,您的查询将不会影响该行。
第二种选择是,您已经更新了行,而另一个查询想要在提交之前更新行。在这种情况下,第二个事务将出现行锁定错误。如果您已经提交,则其他查询不会影响该行。
提交时不会收到任何错误消息或异常。运行update query时,如果有任何错误,您将得到。
https://stackoverflow.com/questions/28145844
复制