はい、これはMySQLで予想される動作です(実際にはANSI-92でも)。 NULL 値は一意キーでは等しい値として扱われず、主キーに NULLを含めることはできません 定義による値。
( https://www.contrib.andrew.cmu.edu /~shadow/sql/sql1992.txt )
null許容列に外部キー制約があるため、親が無関係または決定されていないことを示すダミー値を親テーブルに追加し(ID =0のレコード)、<コードを追加することをお勧めします。> NOT NULL 列への制約。 (さらに、ダミー値を DEFAULTとして追加できます。 。