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

Utilizzo di una delle colonne in una chiave composta come chiave esterna

Come indica la documentazione MySQL su chiavi straniere :

Quindi, se usi innodb, MySQL non ti consente di creare una chiave esterna su un campo che non è il campo più a sinistra in un indice.

Il motivo è che in un indice a più colonne non è possibile cercare un valore in base a un campo che non è il più a sinistra, quindi l'indice non può essere utilizzato per cercare rapidamente il valore per un controllo di chiave esterna.

Questo comportamento degli indici MySQL è descritto nella documentazione MySQL su indici a più colonne :