Puoi disabilitare temporaneamente i controlli della chiave esterna in MySQL per eseguire operazioni che non avrebbero esito positivo se questi controlli fossero abilitati:
// Disable foreign keys check
Statement stmt = conn.createStatement();
stmt.execute("SET FOREIGN_KEY_CHECKS=0");
stmt.close();
// Do your stuff
// Enable foreign keys check
Statement stmt = conn.createStatement();
stmt.execute("SET FOREIGN_KEY_CHECKS=1");
stmt.close();
Nota che questa è un'impostazione per connessione, quindi devi fare tutte le tue cose usando lo stesso conn
oggetto.