minte9
LearnRemember / MYSQL



Disable / enable FK

 
ALTER TABLE article <span class='keyword_code'>DISABLE KEYS</span>;
SET <span class='keyword_code'>FOREIGN_KEY_CHECKS</span>=0;
 ... do you processing ...
SET FOREIGN_KEY_CHECKS=1;
ALTER TABLE article ENABLE KEYS;
There are two foreign_key_checks variables: a global variable and a local (per session) variable. Upon connection, the session variable is initialized to the value of the global variable. The command SET foreign_key_checks modifies the session variable. To turn off foreign key constraint globally, do the following
 
SET GLOBAL FOREIGN_KEY_CHECKS=0;
...
SET GLOBAL FOREIGN_KEY_CHECKS=1;






Questions and answers




How to temporary disable FK

  • a) ALTER TABLE article DISABLE KEYS;
  • b) SET FOREIGN_KEYS_CHECKS=1;

Turn off FK contraint

  • a) SET FOREIGN_KEY_CHECKS = 0;
  • b) SET FOREIGN KEY CHECKS = 0;


References