Foreign Keys in MySQL temporär deaktivieren

Eines der besten Funktionen die mit InnoDB Einzug bei MySQL gehalten haben, ist die Unterstützung von Fremd Schlüsseln (Foreign Keys). Doch diese tolle Funktion kann schnell nervig sein, wenn zum Beispiel Tabellen mit Fremdschlüsseln gelöscht oder geleert werden sollen. Auch das Einspielen von mehreren Datenzeilen zum Testen kann somit schnell nerven, wenn die Beziehungen nicht erfüllt sind.

Mit einem einfachen SQL Befehl kann man jedoch kurzzeitig die Fremdschlüsselüberprüfung ausschalten.

mysql> SET FOREIGN_KEY_CHECKS = 0;

Aktivieren lässt sich die Überprüfung mit

mysql> SET FOREIGN_KEY_CHECKS = 1;

Doch Vorsicht! Die Fremdschlüsselüberprüfung lässt sich nur wieder einschalten, wenn auch alle Einträge konform sind.