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 に答える