ホームページ >データベース >mysql チュートリアル >mysqlで外部キー関係を削除する方法

mysqlで外部キー関係を削除する方法

青灯夜游
青灯夜游オリジナル
2022-07-01 20:01:2010312ブラウズ

mysql では、DROP キーワードを指定した ALTER TABLE ステートメントを使用して、外部キー関係 (制約) を削除できます。構文は、"ALTER TABLE データ テーブル名 DROP FOREIGN KEY 外部キー制約名;"; "ALTER TABLE" ステートメント テーブルを変更する (元のテーブルの構造を変更する) ために使用されます。 "DROP FOREIGN KEY" ステートメントを追加した後の変更機能は、外部キー関係 (制約) の削除に限定されます。

mysqlで外部キー関係を削除する方法

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

外部キー関係 (外部キー制約) はテーブルの特別なフィールドであり、多くの場合、主キー制約と一緒に使用されます。関連付けられた 2 つのテーブルの場合、関連付けられたフィールドの主キーが配置されているテーブルが主テーブル (親テーブル) となり、外部キーが配置されているテーブルが副テーブル (子テーブル) になります。

外部キーは、マスター テーブルとスレーブ テーブル間の関連付けを確立し、2 つのテーブルのデータの接続を確立し、2 つのテーブルのデータの一貫性と整合性を制約するために使用されます。たとえば、果物の屋台には、リンゴ、桃、プラム、スイカの 4 種類の果物しか置いていないとすると、果物を買いに果物屋に来たとき、選択できるのはリンゴ、モモ、プラム、スイカだけになります。は購入できません。

レコードがメイン テーブルから削除されると、それに応じてテーブルの対応するレコードも変更する必要があります。テーブルには 1 つ以上の外部キーを含めることができ、外部キーは null にすることもできます。null でない場合、各外部キーの値はメイン テーブルの主キーの特定の値と等しくなければなりません。

外部キー制約がテーブルに不要な場合は、テーブルから削除する必要があります。外部キーを削除すると、マスターテーブルとスレーブテーブルの関連付けが解除されます。

では、mysql はどのようにして外部キー関係 (制約) を削除するのでしょうか?

mysql では、DROP キーワードを指定した ALTER TABLE ステートメントを使用して、外部キー関係 (制約) を削除できます。

外部キー制約を削除するための構文形式は次のとおりです。

ALTER TABLE 数据表名 DROP FOREIGN KEY 外键约束名;
  • ALTER TABLE ステートメントは、追加や削除など、元のテーブルの構造を変更するために使用されます。列、元の列タイプの変更、列またはテーブルの名前変更など。

  • DROP FOREIGN KEY ステートメントは外部キー関係を削除するために使用されます

例:

使用データテーブル tb_emp2 の外部キー制約を表示するには、次のステートメントを使用します。

SHOW CREATE TABLE tb_emp2\G
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`),
  CONSTRAINT `fk_tb_dept1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.12 sec)

mysqlで外部キー関係を削除する方法

外部キー制約を削除します fk_tb_dept1

ALTER TABLE tb_emp2 DROP FOREIGN KEY fk_tb_dept1;
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で外部キー関係を削除する方法

mysqlで外部キー関係を削除する方法

##[関連する推奨事項:

mysql ビデオ チュートリアル]

以上がmysqlで外部キー関係を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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