MySql: Como Ignorar Foreign Key Constraints em Bancos InnoDB

Algumas vezes precisamos fazer uns inserts em teste e somos atrapalhados pelas foreign keys, que nos impedem de inserir dados na tabela para fins de teste, ou mesmo para repovoar a tabela inteira, em uma ordem diferente das chaves.

Existe uma variável de sessão chamada FOREIGN_KEY_CHECKS que permite ignorar as constraints de chave estrangeira em tabelas InnoDB. Esta variável também permite dar DROP TABLES, e outros comandos que seriam travados por chave estrangeiras.

Veja como usar a variável:

SET FOREIGN_KEY_CHECKS = 0;

SELECT @@FOREIGN_KEY_CHECKS;

SET FOREIGN_KEY_CHECKS = 1;

1 Comentários

  1. Amigo parabens suas dicas sao sempre uma fonte de conhecimento muito rica.
    Agora tenho uma perguntinha pra te fazer como descobrir se existe uma foreign key em uma tabela mysql no codeigniter??
    abracos

Deixe um comentário

Por favor, seja educado. Seu e-mail não será publicado e os campos obrigatórios estão marcados.