sql >> Database >  >> RDS >> Mysql

MySQL:unieke index die de `null`-waarden niet respecteert

Ja, dit is het verwachte gedrag in MySQL (in feite ook in ANSI-92). NULL waarden worden niet als gelijke waarden behandeld in unieke sleutels en primaire sleutels mogen geen NULL bevatten waarden per definitie.

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

Aangezien je de externe sleutelbeperking op de nullable-kolom hebt, zou ik willen voorstellen om een ​​dummy-waarde toe te voegen aan de bovenliggende tabellen waarin staat dat de ouder niet relevant of niet bepaald is (de records waar ID =0 misschien is) en voeg de NIET NULL beperking van de kolom. (Bovendien kunt u de dummy-waarde toevoegen als DEFAULT ).




  1. Wat is het beste zoekalgoritme voor PHP &MYSQL?

  2. Hoe unicode op te slaan in MySQL?

  3. MYSQL-update vanuit dezelfde tabel

  4. Hoe een XML-bestand in een database te laden met behulp van een SSIS-pakket?