防止数据库数据写覆盖
<br />常常在项目中见到这样的DML语句:<br />UPDATE table1 set column1=2 where id=12345<br />这么简单的语句,有什么稀奇的地方呢?我来模拟一个场景,用户A在页面上查询到这条ID=12345的记录,他看到column1的值是1,他想更新到2 。于是他点击了更新,同时用户B也看到了这条记录,他看到这条记录的column1的值也是1,他想更新到3,于是他也点击更新。这个时候问题来了,由于用户A心里想的是2,这个时候他更新完毕之后,查询出来看到的值却是3.
复制链接