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.