Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:уникален индекс, който не спазва нулеви стойности

Да, това е очакваното поведение в MySQL (всъщност и в ANSI-92). NULL стойностите не се третират като равни стойности в уникалните ключове и първичните ключове не могат да съдържат NULL стойности по дефиниция.

(http://www.contrib.andrew.cmu.edu /~shadow/sql/sql1992.txt )

Тъй като имате ограничението за външния ключ върху колоната с нула, бих предложил да добавите фиктивна стойност към родителските таблици, която посочва факта, че родителят е ирелевантен или не е определен (записите, където ID =0 може би) и да добавите NOT NULL ограничение към колоната. (Освен това можете да добавите фиктивната стойност като DEFAULT ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL източник на данни не се появява във Visual Studio

  2. Как да направите заявка към тази MySQL таблица по най-ефективния начин?

  3. MySql логическа оптимизация

  4. host localhost няма право да се свързва с този MySQL сървър

  5. Къде mysql съхранява данни?