segunda-feira, 7 de janeiro de 2008

O MySQL não checa chaves estrangeiras!

Dando uma lida na documentação recentemente fiquei pasmo ao descobrir que as chaves estrangeiras não servem para absolutamente nada funcional no MySQL.

Sim, você leu direito. As chaves estrangeiras não servem para absolutamente nada no MySQL.

Ao definí-las, elas podem ser usadas como um lembrete, um aviso, etc... Mas os engines, com exceção ao InnoDB, não fazem checagem se o mesmo existe (na verdade eles não checam nem se a tabela onde é feita a referência!).

No InnoDB elas funcionam normalmente, mas nos outros a criação de chaves estrangeiras apenas criam uma coluna. Nem ao menos um índice é criado.

Uma vergonha para um banco com tantas funções, recursos, tipos de dados, extensões, conectores, etc...

A manual em questão é da versão 5.1 do MySQL, mais especificamente na seção 3.6.6.

Isso moçada: fiquem de olho.

-----------
keepReading

Nenhum comentário:

Postar um comentário