A chi non è mai capitato di dover inserire un record in una tabella che avesse delle chiavi esterne, ma senza avere uno o più valori per tali chiavi?
bhè a me era capitato in passato e bestemmiando bestemmiando avevo lasciato correre ed ero ricorso a vari escamotage dettati dall’urgenza e dalle circostanze.

Oggi mi è capitato di nuovo e, visto che non avevo la fretta di un tempo e soprattutto non avevo la voglia di spremermi troppo le meningi ho chiesto lumi a google che mi ha gentilmente dato la soluzione nella forma di un post di Alexander Stetsenko:

quindi per disabilitare il controllo sull’integrità referenziale delle chiavi esterne basta eseguire questa query:

SET FOREIGN_KEY_CHECKS = 0;

eseguire tutte le query che si vuole senza stare a badare alle chiavi esterne, e poi magari riaccendere il controllo con:

SET FOREIGN_KEY_CHECKS = 1;

e il gioco è fatto… più semplice di così proprio si muore :)