外部キーは、データベースの関係を確立し、参照整合性を維持するのに役立ちます。これらは、あるテーブルの1つ以上の列を別のテーブルにリンクするのに役立ちます。 MySQLで外部キーを追加する方法は次のとおりです。
MySQLに外部キーを追加する方法
MySQLで外部キーを追加する手順は次のとおりです。 SQLでCREATETABLEまたはALTERTABLEステートメントを使用して外部キー制約を追加できます。
MySQLで外部キーを作成するための構文は次のとおりです。
ALTERTABLEの使用
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (foreign_key_name,...) REFERENCES parent_table(column_name,...);
上記のクエリでは、 table_name 外部キーを追加するテーブルです。 constraint_name 外部キー制約の名前です。 foreign_key_name、… 外部キー列のリストです。
parent_table は、foreign_keyが参照するテーブルであり、その後にそのテーブルの列名のリストが続きます
ボーナス読み取り:MySQL ALTER TABLE Column
CREATETABLEの使用
CREATE TABLE table_name(
column_name column_description,
CONSTRAINT constraint_name
FOREIGN KEY (foreign_key_name,...)
REFERENCES parent_table(column_name,...)
) 上記のクエリでは、 table_name 外部キーを追加するテーブルです。 constraint_name 外部キー制約の名前です。 foreign_key_name、… 外部キー列のリストです。
parent_table は、foreign_keyが参照するテーブルであり、その後にそのテーブルの列名のリストが続きます。
注意 、ALTER TABLEでは、ADD CONSTRAINTを使用する必要がありますが、CREATE TABLEでは、CONSTRAINTキーワードのみを使用する必要があります。
ボーナス読み取り:MySQL DROPFOREIGNKEY制約
MySQL ADDFOREIGNKEYの例
次のテーブルがあるとします。
2つのテーブル(カテゴリ)を作成しましょう および注文 )そして注文に外部キー制約を追加します 、 idを参照 カテゴリの列 テーブル。
mysql> create table categories(id int auto_increment primary key,name varchar(255)); mysql> create table orders(id int auto_increment primary key,category_id int, CONSTRAINT fk_cat FOREIGN KEY (category_id) REFERENCES categories(id)); mysql> describe orders; +-------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | category_id | int(11) | YES | MUL | NULL | | +-------------+---------+------+-----+---------+----------------+
ボーナス読み取り:MySQL DROP UNIQUE CONSTRAINT
ALTERTABLEステートメントを使用した同じ例を見てみましょう。
mysql> create table orders(id int auto_increment primary key,category_id int);
mysql> create table categories(id int auto_increment primary key,name varchar(255));
mysql> ALTER TABLE orders
ADD CONSTRAINT fk_cat
FOREIGN KEY (category_id)
REFERENCES categories(id);
mysql> describe orders;
+-------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| category_id | int(11) | YES | MUL | NULL | |
+-------------+---------+------+-----+---------+----------------+
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。