Vermeiden doppelter Einfügungen in SQLite
SQLite, eine beliebte, leichtgewichtige Datenbank-Engine, verfügt nicht über explizite Unterstützung für die IF NOT EXISTS-Klausel, die häufig in anderen Datenbanken zu finden ist SQL-Implementierungen. Diese Hürde kann Entwickler verwirren, die es gewohnt sind, solche Funktionen zu nutzen, um das Einfügen doppelter Datensätze zu verhindern.
Um diese Einschränkung zu umgehen, bietet SQLite mehrere Problemumgehungen. Ein Ansatz besteht darin, den Befehl INSERT OR IGNORE zu verwenden:
INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES ('ANI Received');
Dieser Befehl fügt einen neuen Datensatz ein, wenn der angegebene EventTypeName noch nicht in der EVENTTYPE-Tabelle vorhanden ist.
Eine andere Option ist: Verwenden Sie eine Unterabfrage innerhalb der INSERT-Anweisung:
INSERT INTO EVENTTYPE (EventTypeName) SELECT 'ANI Received' WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');
Dieser Ansatz prüft, ob der Datensatz vorhanden ist, bevor er eingefügt wird, und erreicht so effektiv das Gleiches Ergebnis wie die IF NOT EXISTS-Klausel.
Das obige ist der detaillierte Inhalt vonWie vermeide ich doppelte Einträge beim Einfügen von Daten in SQLite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!