Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:ERRO 1215 (HY000):Não é possível adicionar restrição de chave estrangeira


Quando você receber essa mensagem de erro vaga, poderá descobrir o erro mais específico executando
SHOW ENGINE INNODB STATUS;

Os motivos mais comuns são que, ao criar uma chave estrangeira, tanto o campo referenciado quanto o campo de chave estrangeira precisam corresponder:
  • Motor deve ser o mesmo por exemplo InnoDB
  • Tipo de dados devem ser iguais e com o mesmo comprimento.
    ex. VARCHAR(20) ou INT(10) NÃO ASSINADO
  • Agrupamento deve ser o mesmo. por exemplo utf8
  • Único - Chave estrangeira deve se referir ao campo que é único (geralmente privado) na tabela de referência.

Outra causa deste erro é:
Você definiu uma condição SET NULL embora algumas das colunas estejam definidas como NOT NULL.