ホームページ >データベース >mysql チュートリアル >MySQL で外部キーの制限 (制約) を解除するにはどうすればよいですか?
Mysql の外部キー制限 (制約) をキャンセルする方法: "ALTER TABLE ; DROP FOREIGN KEY ;" ステートメントを使用してキャンセルします。外部キーが削除されると、マスターテーブルとスレーブテーブルの関連付けが解除されます。
MySQL 外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、多くの場合主キー制約と一緒に使用されます。関連付けられた 2 つのテーブルの場合、関連付けられたフィールドの主キーが配置されているテーブルが主テーブル (親テーブル) となり、外部キーが配置されているテーブルが副テーブル (子テーブル) になります。
外部キーは、マスター テーブルとスレーブ テーブル間の関連付けを確立し、2 つのテーブルのデータの接続を確立し、2 つのテーブルのデータの一貫性と整合性を制約するために使用されます。たとえば、果物の屋台には、リンゴ、桃、プラム、スイカの 4 種類の果物しかありません。すると、果物を買いに果物屋に来たとき、選択できるのはリンゴ、桃、プラム、スイカだけです。は購入できません。
Mysql で外部キー制限 (制約) を解除する方法
テーブルで外部キー制約が不要な場合は、外部キー制約を削除する必要があります。表から削除します。外部キーを削除すると、マスターテーブルとスレーブテーブルの関連付けが解除されます。
外部キー制約を削除するための構文形式は次のとおりです。
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
Example
データ内の外部キー制約を削除するtable tb_emp2 キー制約fk_tb_dept1、SQL文および実行結果は以下のとおりです。
mysql> ALTER TABLE tb_emp2 -> DROP FOREIGN KEY fk_tb_dept1; Query OK, 0 rows affected (0.19 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> SHOW CREATE TABLE tb_emp2\G *************************** 1. row *************************** Table: tb_emp2 Create Table: CREATE TABLE `tb_emp2` ( `id` int(11) NOT NULL, `name` varchar(30) DEFAULT NULL, `deptId` int(11) DEFAULT NULL, `salary` float DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_tb_dept1` (`deptId`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 1 row in set (0.00 sec)
FOREIGN KEY が tb_emp2 に存在しなくなり、fk_emp_dept という名前の元の外部キー制約が正常に削除されたことがわかります。
推奨チュートリアル: mysql ビデオ チュートリアル
以上がMySQL で外部キーの制限 (制約) を解除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。