sql >> Databasteknik >  >> RDS >> Mysql

Kan en främmande nyckel referera till ett icke-unikt index?

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.



  1. Att använda if(isset($_POST['submit'])) för att inte visa eko när skriptet är öppet fungerar inte

  2. TO_SECONDS() Exempel – MySQL

  3. Räkna antalet dagar mellan 2 datum i JPA

  4. Hur räknar man ord i MySQL / regular expression replacer?