外部キーの ON DELETE アクションを CASCADE から RESTRICT に変更するにはどうすればよいですか?
Dec 01, 2024 am 12:59 AM外部キー参照アクションの変更
データベース設計では、外部キーはテーブル間の関係を確立してデータの整合性を維持するために重要です。外部キーを定義するときは、参照される親レコードが変更または削除されたときに子レコードに何が起こるかを制御する参照アクションを指定します。
一般的な参照アクションの 1 つは ON DELETE CASCADE です。これは、子レコードが変更または削除されたときに子レコードを自動的に削除します。親レコードが削除されます。この動作を ON DELETE RESTRICT に変更し、関連する子レコードを持つ親レコードが削除されないようにするには、次の手順を使用できます。
ステップ 1: 既存の外部キー制約を削除する
以下を実行します。既存の外部キー制約を削除する SQL コマンド:
ALTER TABLE `table_name` DROP FOREIGN KEY `constraint_name`;
ここで、table_name は外部キー列を含むテーブルです。
ステップ 2: ON DELETE RESTRICT を使用して新しい外部キー制約を追加する
次に、目的の ON DELETE RESTRICT 動作を使用して新しい外部キー制約を作成します。 :
ALTER TABLE `table_name` ADD CONSTRAINT `new_constraint_name` FOREIGN KEY (`foreign_key_column`) REFERENCES `referenced_table` (`referenced_column`) ON DELETE RESTRICT;
ここで、foreign_key_column は、参照している table_name 内の列です。 Referenced_table、referenced_table は参照される列を含むテーブル、referenced_column は外部キーによって参照される Referenced_table 内の列、new_constraint_name は新しい外部キー制約の名前です。
例:
別のテーブル Users を参照する外部キー User_id を持つテーブル UserDetails を考えてみましょう。参照アクションを ON DELETE CASCADE から ON DELETE RESTRICT に変更するには、次の手順に従います:
-
既存の外部キー制約を削除します:
ALTER TABLE `UserDetails` DROP FOREIGN KEY `FK_User_id`;
ログイン後にコピー -
ON DELETE を使用して新しい外部キー制約を追加しますRESTRICT:
ALTER TABLE `UserDetails` ADD CONSTRAINT `FK_User_id` FOREIGN KEY (`User_id`) REFERENCES `Users` (`User_id`) ON DELETE RESTRICT;
ログイン後にコピー
これらの手順を実行すると、外部キーの参照アクションを変更して、必要なデータ整合性ルールがデータベースに確実に適用されるようにすることができます。
以上が外部キーの ON DELETE アクションを CASCADE から RESTRICT に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
