Est-il possible de désactiver temporairement les contraintes dans MySQL?
J'ai deux modèles Django, chacun avec une clé étrangère à l'autre. La suppression d'instances d'un modèle renvoie une erreur en raison de la contrainte 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()
Est-il possible de désactiver temporairement les contraintes et de les supprimer quand même?
ON DELETE SET NULL
? Cela accomplirait une chose similaire et vous n'auriez pas à activer et désactiver la vérification des clés.