不更改数据库默认隔离级别,如何避免丢失更新(lost update)

来源:互联网 发布:淘宝助理5 for mac 编辑:程序博客网 时间:2024/06/16 18:55

在默认的隔离级别下先读出数据然后再去修改可能会产生Lost update,但是如果提高隔离级别的话又会降低并发,使用下面的办法可以在Read commited隔离级别上避免Lost update.

1.可以使用衍生列比如timestamp.在更新之前先做检查,如果更新的时候发现 timestamp列已经更改说明列已经被修改了,报错。

2.使用存储过程,如果更新返回的值为0,说明之前数据已经被更改,报错。

3.可以有HASH函数CHECKSUM()。在更新之前先做HASH然后更新的时候检查HASH结构是不是一样,如果不一样的话说明数据已经被更改,报错。

 

 

原创粉丝点击