SQLite: Datensätze nur einfügen, wenn sie nicht vorhanden sind
In SQLite ist die in Microsoft SQL Server verwendete IF NOT EXISTS-Syntax nicht vorhanden direkt unterstützt. Dies kann eine Herausforderung sein, wenn Sie versuchen, Datensätze einzufügen und gleichzeitig ihre Einzigartigkeit sicherzustellen.
Problemumgehung 1: EINFÜGEN ODER IGNORE
Eine Problemumgehung besteht darin, den Befehl INSERT OR IGNORE zu verwenden. Mit dieser Syntax können Sie einen neuen Datensatz in eine Tabelle einfügen. Wenn jedoch bereits ein Datensatz mit demselben Schlüssel vorhanden ist, wird die Einfügung ignoriert. Zum Beispiel:
INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES 'ANI Received';
Workaround 2: SELECT und INSERT
Ein anderer Ansatz besteht darin, eine Kombination aus einer SELECT-Anweisung und einer INSERT-Anweisung zu verwenden:
INSERT INTO EVENTTYPE (EventTypeName) SELECT 'ANI Received' WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');
Diese Syntax prüft, ob bereits ein Datensatz mit dem angegebenen EventTypeName vorhanden ist. Ist dies nicht der Fall, wird die INSERT-Anweisung ausgeführt und ein neuer Datensatz zur Tabelle hinzugefügt.
Das obige ist der detaillierte Inhalt vonWie füge ich Datensätze nur dann in SQLite ein, wenn sie noch nicht vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!