sql >> Databasteknik >  >> RDS >> Mysql

MySQL:unikt index som inte respekterar "null"-värden

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 INTE NULL begränsning till kolumnen. (Dessutom kan du lägga till dummyvärdet som DEFAULT ).




  1. Hur man ändrar standarddatabaspostprofilen för en användare i SQL Server (T-SQL)

  2. Hur man aktiverar CDC på uppsättning tabeller ELLER aktiverar på alla tabeller i en databas i SQL Server - SQL Server Tutorial

  3. PHP PDO infoga med loop

  4. Jooq LocalDateTime-fält använder systemets tidszon istället för sessionens tidszon