コンテンツへスキップ
uencoder

Foreign Key

外部キーは他のテーブルの主キーを参照する列であり、テーブル間の参照整合性を確立し、孤立した参照を防ぐ。

目的

参照整合性を保証し、関連データの一貫性を保ち、存在しない行への参照を防ぐ。

メカニズム

FOREIGN KEY (col) REFERENCES other(id)。制約:挿入/更新される外部キー値は参照先テーブルの主キーに存在する(または NULL である)必要がある。任意の ON DELETE CASCADE/SET NULL が連鎖動作を定義する。外部キーには、制約検査と JOIN を高速化するインデックスが必要。

ユースケース

  • テーブル間の参照整合性
  • 連鎖削除(カスケード)
  • ORM のリレーションマッピング
  • データ一貫性の制約

例

  • 入力
    FOREIGN KEY (user_id) REFERENCES users(id)
    Output
    Referential integrity constraint

    Foreign key

よくあるエラー

Unindexed foreign keys lock tables during cascades
Create an index on the foreign key column

関連用語

References