Problema com Foreign Key's no MySQL [RESOLVIDO]

3 respostas
Y

Quando eu tento criar uma chave-estrangeira, dá um erro do tipo: “Can’t create table …”.

Os campos são exatamente do mesmo tipo: INTEGER, SIGNED, NOT NULL. Mas dá sempre esse erro.

O mais estranho é que algumas tabelas a chave é criada normalmente, e em outras dá o erro.

Exemplo: tenho a tabela filiais, com o campo: ID INTEGER PRIMARY KEY AUTO-INCREMENT NOT NULL.

Então na tabela vendainformal eu tenho o campo IDFilial INTEGER NOT NULL. Crio uma chave-estrangeira vendainformal:IDFilial -&gt filiais:ID e tudo rola perfeito.

Aí vou em outra tabela, exemplo, vendageral, que tem um campo idêntico: IDFilial INTEGER NOT NULL, quando tento criar a chave vendageral:IDFilial -&gt filiais:ID, dá o erro que citei!!

Alguém tem uma idéia do que pode ser?

3 Respostas

fsquadro

Yky Mattshawn,

Cola ai o SQL (um pedaço) pra darmos uma olhada.
E um conselho, quando poder use PostgreSQL. heheh!

P

Cara,

Se você está usando tabelas dos tipos Isam ou MyIsam, acho que estas tabelas não aceitam chaves estrangeiras. Neste caso, você teria que usar tabelas InnoDB.
Y

E aih pessoal, seguinte, o problema foi resolvido. Embora eu não tenha encontrado a solução na net, acabei resolvido por “sorte”.

O problema é que não são permitidas foreign key’s com mesmo nome dentro do mesmo banco de dados. Não são permitidas, é claro, dentro da mesma tabela. Mas se tentar criar com mesmo nome dentro do mesmo banco, também dá pau.

Flws.

Criado 30 de abril de 2007
Ultima resposta 6 de mai. de 2007
Respostas 3
Participantes 3