1215: Cannot add foreign key constraint
MySQLO que significa?
A constraint de foreign key que está sendo definida não pode ser criada; o MySQL não consegue adicionar a constraint.
Por que acontece?
Incompatibilidade de tipo de dado/comprimento/sinal (signed-unsigned) ou de character set/collation entre a coluna filha e a referenciada, ausência de índice/PRIMARY KEY adequado na coluna referenciada, tabelas usando storage engines diferentes (uma é MyISAM) ou a tabela referenciada ainda não existe.
Como resolver
Certifique-se de que os tipos das colunas dos dois lados são EXATAMENTE iguais (por exemplo, ambos INT UNSIGNED). Verifique se a coluna referenciada é suportada por um índice (geralmente PRIMARY KEY ou UNIQUE). Certifique-se de que ambas as tabelas são InnoDB. Use o mesmo charset/collation para chaves string. Para detalhes: SHOW ENGINE INNODB STATUS (LATEST FOREIGN KEY ERROR).
Mais entradas deste banco
- 2003Can't connect to MySQL server (TCP/IP)
- 2006MySQL server has gone away
- 1114The table is full
- 1451Cannot delete or update a parent row: a foreign key constraint fails
- 1452Cannot add or update a child row: a foreign key constraint fails
- 1366Incorrect string/integer value for column
- 1044Access denied for user to database