Boa noite a todos, alguém sabe o porquê de estar dando erro (abaixo do SQL) ao tentar criar esta tabela?
[code]delimiter $$
CREATE TABLE fornecedor
(
idPessoa
int(6) NOT NULL,
idAtividade
int(6) NOT NULL,
contato_principal
varchar(60) DEFAULT NULL,
email_nota_fiscal
varchar(150) NOT NULL,
razao_social
varchar(60) NOT NULL,
PRIMARY KEY (idPessoa
),
FOREIGN KEY (idPessoa
) REFERENCES pessoa
(idPessoa
),
FOREIGN KEY (idAtividade
) REFERENCES atividade (idAtividade
)
) ENGINE=InnoDB DEFAULT CHARSET=latin2$$[/code]
Erro:
/* SQL Error (1005): Can’t create table ‘gpa.fornecedor’ (errno: 150) Foreign key constraint is incorrectly formed */
O erro acontece não só nesta tabela mas em todas as demais que tento colocar uma FK, não entendo o porquê!
Boa noite!
Já verificou se nas tabelas onde estão os registros das chaves estrangeiras, os valores são iguais aos os da chave primária?
Exemplo: TB_Chamada.ID_Chamada INT(9);
TB_Chamada_Ocorrencia.FK_ID_Chamada INT(9);
Tente também diferenciar os campos… pelo que vi no seu código, os nomes das chaves estrangeiras são iguais aos das primárias!
Eu faço assim pra melhor visualizar os campos: ID_Nome (chave primária) - FK_ID_Nome (chave estrangeira)
Fica até mais fácil pra outras pessoas reconhecerem seu código !
Sim é verdade, eu corrigi os nomes e o problema realmente era este dos tipos, a pessoa tinha zerofill e nos demais não, por isto deu erro! Vlw pela ajuda.