数据库的脏写有几种定义?

我看到脏写有两种不同的定义:

  • 如果一个事务修改了另一个未提交事务修改过的数据,那就意味着发生了脏写
  • 脏写是指一个事务覆盖了另一个事务已经提交的数据

这两种都是公认的『脏写』的定义吗?

阅读 2k
1 个回答

参照脏读的定义“一个事务读取了另一个事务未提交的数据”,脏写的定义应该为“一个事务修改了另一个事务未提交的数据”,也就是你问题中的第一条。
问题中第二条应该叫覆盖更新,是由幻读引起的,补充一下幻读的定义:“一个事务的写入更改了另一个事务的查询结果”。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题