外部キーは、データベースの関係を確立し、参照整合性を維持するのに役立ちます。これらは、あるテーブルの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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。