外部キーとは 外部キーとはテーブル同士の紐づけに用いるカラムのこと。 以下の2個のテーブルがあります。 user テーブル user_login_history テーブル userテーブルとuser_login_history テーブル に user_id あります。 user_login_history.user_id の値は user テーブル においては主キー (Primary Key) です。 user_login_histories テーブル では外部キー(Foreign Key) です。 主キーと外部キーはデータベースにとって、それぞれのテーブルを関連付ける機能です。 外部キー制約とは 外部キー制約とは次のような制約です。 1. 主キーに存在しない値を外部キーとして登録することはできない 2. 子テーブルの外部キーに値が登録されている親テーブルのレコードは削除できない 外部
![MySQLの外部キー制約、NULLを許容している](https://cdn-ak-scissors.b.st-hatena.com/image/square/dd57e64aaa151b4667da6cf0f6829c8ac3b370dc/height=288;version=1;width=512/https%3A%2F%2Furashita.com%2Fwp-content%2Fuploads%2F2014%2F10%2Fmysqllogo.png)