Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想对数据库中的某些表执行级联删除,但我对删除某些内容失败时会发生什么感兴趣。一切都会回滚吗?
一般来说¹,是的,级联删除是在与原始删除相同的事务(或子事务)中完成的。不过,您应该阅读 SQL 服务器的文档。
¹ 例外情况是,如果您使用的数据库不支持事务,例如带有 MyISAM 表的 MySQL。
级联删除确实是原子的,如果没有该属性,它们将毫无用处。它在文档中。
值得指出的是,任何级联事件都应该是原子的(即在事务中)。但是,正如 Joel Coehoorn 指出的那样,请检查数据库的文档。