先に結論。DEFERRED, DEFERRABLEという単語を覚えてお帰りくださいませ。 そして先にごめんなさい。SQL ServerとMySQLはDEFERRED, DEFERRABLEを未サポートですのでこの記事の内容は使えません。 さて話のはじめから。 こんな条件のデータを格納したくなったとしてください。 顧客は担当者をもつ。 歴代の担当者が複数いるかもしれないが、現在の担当者が必ず一人いる。素直にER図で書くとこんな感じ。 テーブル同士が外部キー参照し合っています。あれ、そんなことできるんだっけ? というお話です。 お互いに外部キー参照する 実際書いてみましょう。 -- 顧客 create table 顧客 ( 顧客ID INT NOT NULL PRIMARY KEY , 法人名 VARCHAR(64) NOT NULL , 現担当者ID INT NOT NULL , CONST