sql >> データベース >  >> Database Tools >> phpMyAdmin

テーブルリレーションの設定Cascade、Set Null、およびRestrictは何をしますか?

    CASCADE 親が変更されたときに変更を伝播します。 (行を削除すると、その行を参照する制約付きテーブルの行も削除されます。など)

    SET NULL 親行がなくなると、列の値をNULLに設定します。

    RESTRICT 親行のDELETEの試行は失敗します。

    編集:あなたはそれらについて尋ねませんでしたが、SQL標準は他の2つのアクションを定義しています:SET DEFAULT およびNO ACTION 。 MySQLでは、NO ACTION RESTRICTと同等です 。 (一部のDBMSでは、NO ACTION は遅延チェックですが、MySQLではすべてのチェックが即時に行われます。)MySQLパーサーはSET DEFAULTを受け入れます。 、ただし、InnoDBエンジンとNDBエンジンの両方がこれらのステートメントを拒否するため、SET DEFAULT ON UPDATEのどちらにも実際には使用できません またはON DELETE 制約。

    また、カスケード外部キーアクションはMySQLのトリガーをアクティブにしないことに注意してください。



    1. phpmyadminがExcel用のcsvにエクスポート

    2. sql削除行エラー

    3. phpmyadminのテーブルにデータを挿入するプロシージャを作成する方法は?

    4. そのときの場合ですが、その前とその前にAND条件があります