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

Kan en fremmednøgle referere til et ikke-unikt indeks?

Fra MySQL-dokumentation :

InnoDB tillader en fremmednøglebegrænsning at referere til en ikke-unik nøgle. Dette er en InnoDB-udvidelse til standard SQL.

Der er dog en praktisk grund til at undgå fremmednøgler på ikke-unikke kolonner i refererede tabel. Det vil sige, hvad skal være semantikken for "ON SLET CASCADE" i så fald?

Dokumentationen rådgiver yderligere :

Håndteringen af ​​fremmednøglereferencer til ikke-unikke nøgler eller nøgler, der indeholder NULL-værdier, er ikke veldefineret (...) Det anbefales at bruge fremmednøgler, der kun refererer til UNIQUE (inklusive PRIMÆR) og IKKE NULL-nøgler.



  1. TO_TIMESTAMP_TZ() Funktion i Oracle

  2. 20 tips:Forbered din database til Black Friday og Cyber ​​Monday

  3. Hvordan UNDTAGET virker i PostgreSQL

  4. Find afstanden mellem to punkter ved hjælp af bredde- og længdegrad i mysql