MySQL에서 제약 조건을 일시적으로 비활성화 할 수 있습니까?
두 개의 장고 모델이 있는데, 각각 다른 하나에 ForeignKey가 있습니다. 모델의 인스턴스를 삭제하면 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()
제약 조건을 일시적으로 비활성화하고 어쨌든 삭제할 수 있습니까?
ON DELETE SET NULL
어떻게 해야 합니까? 그것은 비슷한 일을 할 것이고 키 검사를 켜고 끌 필요가 없습니다.