12

我想对数据库中的某些表执行级联删除,但我对删除某些内容失败时会发生什么感兴趣。一切都会回滚吗?

4

3 回答 3

14

一般来说¹,是的,级联删除是在与原始删除相同的事务(或子事务)中完成的。不过,您应该阅读 SQL 服务器的文档。

¹ 例外情况是,如果您使用的数据库不支持事务,例如带有 MyISAM 表的 MySQL。

于 2008-09-22T10:35:59.497 回答
4

级联删除确实是原子的,如果没有该属性,它们将毫无用处。它在文档中。

于 2008-09-22T10:45:11.970 回答
1

值得指出的是,任何级联事件都应该是原子的(即在事务中)。但是,正如 Joel Coehoorn 指出的那样,请检查数据库的文档。

于 2008-09-22T13:13:06.467 回答