web-dev-qa-db-ja.com

phpMyAdminに制約を追加する

私は愚かであるように感じますが、外部キーに制約を追加するためのphpMyAdminインターフェースのどこにも見つけることができません。削除時にカスケード

こことphpMyAdminウィキで同様の質問を探しましたが、何も見つかりません。

クエリインターフェイスを使用してこれを実行できることはわかっていますが、グラフィカルインターフェイスを使用して実行する方法を知りたいです。

17
Alex

まず、ストレージエンジンがInnoDBである必要があります。次にテーブルを選択し、「構造」タブに移動します。

テーブルの下に「リレーションビュー」が表示されるので、それをクリックします。そこから制約を追加できます。

33
utsikko

[〜#〜]カスケード[〜#〜]

マスター(参照)テーブルの行が削除(または更新)されるたびに、一致する外部キー列を持つ子(参照)テーブルのそれぞれの行も削除(または更新)されます。これはカスケード削除と呼ばれます(それぞれupdate [2])。

[〜#〜]制限[〜#〜]

参照されるテーブルの値を参照する外部キーテーブルに行が存在する場合、値を更新または削除することはできません。同様に、外部キーテーブルから行への参照がある限り、その行を削除することはできません。

アクションなし

NO ACTIONとRESTRICTは非常に似ています。 NO ACTIONとRESTRICTの主な違いは、NO ACTIONでは、テーブルを変更しようとした後に参照整合性チェックが実行されることです。 RESTRICTは、UPDATEまたはDELETEステートメントを実行する前にチェックを行います。参照整合性チェックが失敗した場合、両方の参照アクションは同じように動作します。UPDATEまたはDELETEステートメントはエラーになります。

SET NULL

参照先の行が更新または削除されると、参照元の行の外部キー値はNULLに設定されます。これは、参照テーブルのそれぞれの列がNULL可能である場合にのみ可能です。 NULLのセマンティクスのため、外部キー列にNULLを含む参照行は、参照される行を必要としません。

8
Arun Yokesh

まず、ストレージエンジンをInnoDBとして選択する必要があります。

この方法に従ってください:database_name-> More-> Designerをクリックします

0
umutekici