1

当您想删除包含所有基础数​​据的完整用户帐户时,您如何处理约束?

RESTRICT ON DELETE在某些表上使用以保持一致性,但是当我想删除完整的用户帐户时如何处理约束!?然后我得到Integrity constraint violation

在一些我也使用的表上,CASCADE ON DELETE所以我不能忽略所有约束

4

1 回答 1

0
  1. 开始交易。
  2. 对于每个具有 ON DELETE RESTRICT 的表,删除正确的行。表格的顺序有时很重要;从用户表“最远”的表开始。(见下文。)
  3. 然后删除用户。ON DELETE CASCADE 应该删除剩余的行。
  4. 提交事务。

当您有一个带有 ON DELETE RESTRICT 的表“链”时,表的顺序很重要。

Table_N
    Table_M references Table_N ON DELETE RESTRICT
        Table_P references Table_M ON DELETE RESTRICT

您需要先从 Table_P 中删除,然后是 Table_M,然后是 Table_N。

于 2013-09-17T19:22:11.467 回答