Postagens

Mostrando postagens de Junho, 2008

MySQL error number 1005 Can’t create table ‘.\mydb\#sql-328_45.frm’ (errno: 150)

Tenho trabalhado em um projeto freelancer que utiliza base de dados MySQL. Fiz uma alteração em um modelo de dados, e entre as alterações tive que criar uma nova FK entre duas tabelas, sendo que a tabela pai antes não existia.

Na hora de executar o script que cria a FK, me deparei com um erro, a primeira vista, complicado de resolver. A execução do script retornava:
MySQL Error Number 1005Can’t create table ‘.\mydb\#sql-328_45.frm’ (errno: 150)

Após buscar um pouco no Google (o oráculo de todos os desenvolvedores!), encontrei uma página que explicava este erro. A página, em inglês, é http://www.verysimple.com/blog/2006/10/22/mysql-error-number-1005-cant-create-table-mydbsql-328_45frm-errno-150/.

Basicamente e neste caso, este erro ocorre porque os pré-requisitos para a criação de uma FK não foram atendidos.

Para conferir se todos os itens necessários para a FK foram atendidos, é só seguir a checklist abaixo:
Os campos da tabela pai e da tabela filho são do mesmo tipo e tamanho? De início po…