sql >> Database teknologi >  >> RDS >> Mysql

MySQL:unikt indeks, der ikke respekterer "null"-værdier

Ja, dette er den forventede adfærd i MySQL (faktisk også i ANSI-92). NULL værdier behandles ikke som lige værdier i unikke nøgler, og primærnøgler kan ikke indeholde NULL værdier pr. definition.

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

Da du har den fremmede nøgle-begrænsning på null-kolonnen, vil jeg foreslå at tilføje en dummy-værdi til de overordnede tabeller, som angiver det faktum, at forælderen er irrelevant eller ikke bestemt (posterne hvor ID =0 måske) og tilføje IKKE NULL begrænsning af kolonnen. (Desuden kan du tilføje dummy-værdien som DEFAULT ).




  1. Online SQL-syntakskontrol, der er i overensstemmelse med flere databaser

  2. MySQL-ydelse:MyISAM vs InnoDB

  3. Registrering af bruger gennem servlet fejl

  4. Sådan indsætter du Emoji (UTF8 4 Byte-tegn) i MySQL <5.5