Problema com Foreign Key's no MySQL [RESOLVIDO]

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?

Yky Mattshawn,

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

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.

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.