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

MySQL:ERROR 1215 (HY000):No se puede agregar una restricción de clave externa

Cuando recibe este vago mensaje de error, puede averiguar el error más específico ejecutando

SHOW ENGINE INNODB STATUS;

Las razones más comunes son que al crear una clave externa, tanto el campo al que se hace referencia como el campo de la clave externa deben coincidir:

  • Motor debe ser el mismo p. ej. InnoDB
  • Tipo de datos debe ser el mismo y con la misma longitud.
    p. VARCHAR(20) o INT(10) SIN FIRMA
  • Colección debería ser el mismo. por ejemplo, utf8
  • Único - La clave externa debe referirse a un campo que es único (normalmente privado) en la tabla de referencia.

Otra causa de este error es:
Ha definido una condición SET NULL aunque algunas de las columnas están definidas como NOT NULL.