SQLite3-Fremdschlüsseleinschränkungen
Bei der Verwendung von SQLite3 kann es zu einem Problem kommen, bei dem Zeilen in eine untergeordnete Tabelle eingefügt werden können, selbst wenn die übergeordnete Tabelle vorhanden ist Tisch ist leer. Dieses Verhalten entsteht durch das Standardverhalten von SQLite3, bei dem Fremdschlüsseleinschränkungen bei der Verbindung deaktiviert sind.
Um Fremdschlüsseleinschränkungen in SQLite3 zu aktivieren, führen Sie die folgende Abfrage jedes Mal aus, wenn Sie eine Verbindung zur Datenbank herstellen:
PRAGMA foreign_keys = ON;
Der Grund, diesen Befehl jedes Mal zu wiederholen, besteht darin, die Kompatibilität mit SQLite Version 2.x aufrechtzuerhalten. Standardmäßig verhält sich SQLite3 wie SQLite 2.x, das Fremdschlüsseleinschränkungen ignoriert.
In SQLite Version 4.x sind Fremdschlüsseleinschränkungen jedoch standardmäßig aktiviert, wodurch dieses Problem dauerhaft behoben wird.
Das obige ist der detaillierte Inhalt vonWarum müssen SQLite3-Fremdschlüsseleinschränkungen explizit aktiviert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!