Ja, detta är det förväntade beteendet i MySQL (faktiskt även i ANSI-92). NULL
värden behandlas inte som lika värden i unika nycklar och primärnycklar kan inte innehålla NULL
värden per definition.
(http://www.contrib.andrew.cmu.edu /~shadow/sql/sql1992.txt )
Eftersom du har den främmande nyckel-begränsningen på den nullbara kolumnen, skulle jag föreslå att du lägger till ett dummyvärde till de överordnade tabellerna som anger det faktum att föräldern är irrelevant eller inte bestäms (posterna där ID =0 kanske) och lägger till DEFAULT
).