Heim > Datenbank > MySQL-Tutorial > Wie füge ich Datensätze nur dann in SQLite ein, wenn sie noch nicht vorhanden sind?

Wie füge ich Datensätze nur dann in SQLite ein, wenn sie noch nicht vorhanden sind?

Susan Sarandon
Freigeben: 2024-12-20 10:15:10
Original
341 Leute haben es durchsucht

How to Insert Records into SQLite Only If They Don't Already Exist?

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';
Nach dem Login kopieren

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');
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage