ホームページ >データベース >mysql チュートリアル >SQL で外部キー参照アクションを変更するにはどうすればよいですか?

SQL で外部キー参照アクションを変更するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-09 08:32:12197ブラウズ

How to Change Foreign Key Referential Actions in SQL?

外部キー参照アクションの変更

データベース設計では、適切な参照アクションを使用して外部キー関係を確立し、親テーブルと子テーブルで操作を実行するときの動作を定義することが重要です。 。 「ON DELETE CASCADE」から「ON DELETE RESTRICT」に切り替えるなど、デフォルトの参照アクションを変更しようとするときに、一般的なクエリが発生します。

ステップ 1: 既存の制約を削除

参照アクションの場合、最初のステップでは、次の SQL を使用して現在の外部キー制約を削除します。 command:

ALTER TABLE `table_name` DROP FOREIGN KEY `constraint_name`;

たとえば、'UserDetails' という名前のテーブルに、'Users' テーブルを参照する外部キー制約 'FK_User_id' がある場合、この制約を削除するコマンドは次のようになります:

ALTER TABLE `UserDetails` DROP FOREIGN KEY `FK_User_id`;

ステップ 2: アクションを変更して新しい制約を作成する

既存の制約を削除した後、必要な参照アクションを含む新しい制約を作成できます。次の SQL 構文を使用します。

ALTER TABLE `table_name` ADD CONSTRAINT `constraint_name` FOREIGN KEY (`foreign_key_column`) REFERENCES `referenced_table` (`primary_key_column`) ON DELETE <action>;

この構文では、 を置き換えます。 「ON DELETE RESTRICT」など、好みの参照アクションを使用します。

たとえば、「ON DELETE RESTRICT」アクションを使用して「UserDetails」テーブルに「FK_User_id」という名前の新しい制約を作成するには、SQL コマンド

ALTER TABLE `UserDetails` ADD CONSTRAINT `FK_User_id` FOREIGN KEY (`User_id`) REFERENCES `Users` (`User_id`) ON DELETE RESTRICT;

これらの 2 つの手順に従うことで、外部キーの参照アクションを効果的に変更でき、確実に実行できます。データベース内のテーブル間の関係を管理する際の適切な動作。

以上がSQL で外部キー参照アクションを変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。