sql >> Base de Datos >  >> RDS >> Mysql

Usar una de las columnas en una clave compuesta como clave externa

Como la documentación de MySQL en las claves externas indican :

Entonces, si usa innodb, MySQL no le permite crear una clave externa en un campo que no es el campo más a la izquierda en un índice.

La razón es que en un índice de varias columnas no puede buscar un valor basado en un campo que no sea el más a la izquierda, por lo tanto, el índice no se puede usar para buscar rápidamente el valor para una verificación de clave externa.

Este comportamiento de los índices de MySQL se describe en la documentación de MySQL en índices de varias columnas :