Wie funktioniert ON DELETE CASCADE in sqlite 3.7.4?

8

Ich habe die Feature-Liste mehrmals überprüft und es scheint, dass die Kaskadierung funktionieren sollte. Wenn ich dieses Python-Skript ausfühle:

%Vor%

Ich bekomme diese Ergebnisse:

%Vor%

Was beweist, dass Kaskadierung nicht passiert ist. Was habe ich falsch gemacht oder was sind die Lösungen um das gleiche Ergebnis wie Kaskadierung zu bekommen?

    
kravitz 18.12.2010, 08:17
quelle

2 Antworten

9

SQLite-Fremdschlüssel sind aus Kompatibilitätsgründen deaktiviert. Sie müssen sie direkt nach jeder Verbindung mit der Datenbank manuell aktivieren.

con.execute("PRAGMA foreign_keys = ON")

    
Rosh Oxymoron 18.12.2010, 14:33
quelle
2

Es gibt eine bessere Antwort des Benutzers Thibault J in dieser Frage: Erste Integritätsprüfung mit sqlite in django , die besagt:

%Vor%     
slacy 16.05.2012 20:39
quelle

Tags und Links