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

Código de error:1822. No se pudo agregar la constante de clave externa. Índice faltante para la restricción

create_user INT UNSIGNED ZEROFILL no se puede hacer referencia a id INT , porque cuentan como tipos de datos diferentes a efectos de referencia de clave externa. Hágalos del mismo tipo de datos.

La única diferencia de tipo de datos que se permite entre columnas en una relación de clave externa es la longitud de un varchar. Por ejemplo, VARCHAR(10) puede hacer referencia a VARCHAR(20) o viceversa.

Cualquier otra diferencia en el tipo de datos, el tamaño o el juego de caracteres es incompatible con la integridad referencial.

Incluso teniendo ZEROFILL en una columna pero no en la otra hace que los tipos de datos sean incompatibles.