共通SQL

FOREIGN KEY (外部キー)

他テーブルの主キーや一意キーを参照してリレーションを結ぶ制約

解説

テーブル同士の関係性(リレーション)を定義し、データの参照整合性を担保するための制約です。

例えば注文テーブルの user_id に外部キーを設定すると、「会員テーブルに実在しないユーザーID」の注文データが登録されるのをデータベースが自動的にブロックしてくれます。参照先には主キーだけでなく、RDBMSの要件を満たす一意キー(UNIQUE制約など)を指定できる場合があります。

カスケード操作 (ON DELETE CASCADE)

参照先の親データが削除されたときの挙動も指定できます。例えば ON DELETE CASCADE を指定すると、ユーザーが退会した際に関連する注文履歴も自動で一括削除されるようになります。

構文
FOREIGN KEY (参照列) REFERENCES 相手テーブル(主キーまたは一意キー)
具体例
CREATE TABLE orders (id INT, user_id INT, FOREIGN KEY (user_id) REFERENCES users(id));

この構文を実際に書いて試してみませんか?

SQLエディタを開く