Från MySQL-dokumentation :
InnoDB tillåter en främmande nyckel-begränsning att referera till en icke-unik nyckel. Detta är en InnoDB-tillägg till standard SQL.
Det finns dock en praktisk anledning att undvika främmande nycklar på icke-unika kolumner i refererade tabeller. Det vill säga, vad ska vara semantiken för "ON DELETE CASCADE" i så fall?
Dokumentationen ger ytterligare råd :
Hanteringen av främmande nycklar till icke-unika nycklar eller nycklar som innehåller NULL-värden är inte väldefinierad (...) Du rekommenderas att använda främmande nycklar som endast refererar till UNIKA (inklusive PRIMÄRA) och INTE NULL-nycklar.