È possibile disabilitare temporaneamente i vincoli in MySQL?
Ho due modelli Django, ognuno con una chiave straniera all'altro. L'eliminazione di istanze di un modello restituisce un errore a causa del vincolo ForeignKey:
cursor.execute("DELETE FROM myapp_item WHERE n = %s", n)
transaction.commit_unless_managed() #a foreign key constraint fails here
cursor.execute("DELETE FROM myapp_style WHERE n = %s", n)
transaction.commit_unless_managed()
È possibile disabilitare temporaneamente i vincoli ed eliminare comunque?
ON DELETE SET NULL
? Ciò compirebbe una cosa simile e non dovresti attivare e disattivare il controllo delle chiavi.