MySQLで2つのテーブル間で外部キー制約を作成する方法
外部キーによる2つのテーブルを結合するには、次の手順に従います。
- テーブルAとテーブルB、2つのテーブルがあるとします。最初にテーブル1とテーブル2を作成します。
- B表にA表との関連付けに使用する外部キー列を作成します。外部キーの定義にはFOREIGN KEYキーワードを使用できます。
CREATE TABLE 表B (
id INT PRIMARY KEY,
name VARCHAR(50),
表A_id INT,
FOREIGN KEY (表A_id) REFERENCES 表A(id)
);
- テーブルBの外来キー列に、FOREIGN KEY キーワードを使用して外来キー制約を作成します。外来キー制約は、外来キー列の値が必ずテーブルA の値を参照するようにします。
- SQLを上記のように実行すると、2つのテーブルの外部キー接続を構築できます。
ただし、外部キー結合を行うには、テーブルAの主キー列がテーブルBの外部キー列と同じ型である必要があります。また、外部キー結合を行う際には、テーブルA内の参照側列(参照される側の列)に、結合のパフォーマンスを向上させるためのインデックスを作成する必要があります。