【がいぶきー】
外部キー とは?
💡 テーブルをつなぐ「参照パスポート」
📌 このページのポイント
外部キーって何のためにあるの?
それって単純に数字を入れるのとどう違うの?
ユーザーを削除したら注文はどうなるの?
ここが設定次第なんだ。「CASCADE DELETE」にすると関連する注文も一緒に消える、「制約エラー」にすると注文が残ってる限り削除できない、みたいに動作を選べるんだよ。
じゃあCASCADEにすれば楽じゃない?
それが罠で、中上級者でもはまるポイントなんだ。CASCADEは便利だけど、意図せず大量のデータが消えるバグの原因になりやすいんだ。「ユーザー削除したら注文履歴も全消えした」なんて事故が起きやすいから、本番環境では特に慎重に設計する必要があるよ。
📖 おまけ:英語の意味
「Foreign Key」 = 外来の鍵
💬 「自テーブルではなく別テーブルの鍵(主キー)を参照するから外来(Foreign)」という意味