MySql Foreign Key Error 150: A Puzzling Enigma
Ao tentar criar as tabelas "foo" e "bar" com relações de chave estrangeira , você encontra o erro 1005 (HY000) com referência ao erro 150. Esse erro pode ser frustrante, deixando você perplexo quanto à raiz causa.
De acordo com a documentação do MySQL sobre FOREIGN KEY Constraints, o problema surge ao recriar uma tabela eliminada que possui referências de chave estrangeira. A tabela deve estar em conformidade com as restrições de chave estrangeira, tendo nomes e tipos de colunas correspondentes, bem como índices nas chaves referenciadas. Se essas condições não forem atendidas, o MySQL retornará o erro 1005, com um erro subjacente 150.
É provável que seu erro seja devido ao fato de que a tabela "foo" não está definida como uma tabela InnoDB. A documentação do MySQL afirma explicitamente que ambas as tabelas devem ser tabelas InnoDB e não temporárias.
Modificando a consulta de criação de tabela "foo" para especificar o mecanismo InnoDB:
mysql> CREATE TABLE foo(id INT PRIMARY KEY) ENGINE=InnoDB;
Você deve ser capaz de criar com sucesso a tabela "bar" com a restrição de chave estrangeira, resolvendo o erro 150.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3