SQLite: Alternatif kepada IF NOT EXISTS
SQLite tidak menyokong sintaks IF NOT EXISTS secara asli, yang biasa digunakan dalam Microsoft SQL Server untuk memasukkan data secara bersyarat ke dalam jadual hanya jika ia belum wujud. Walau bagaimanapun, terdapat beberapa pendekatan alternatif untuk mencapai kefungsian yang sama dalam SQLite.
1. INSERT OR IGNORE
Pernyataan INSERT OR IGNORE mengarahkan SQLite untuk mencuba memasukkan ke dalam jadual yang ditentukan, mengabaikan sebarang ralat yang akan terhasil daripada pelanggaran kunci pendua. Ini berkesan mencipta baris baharu jika kunci yang ditentukan tidak wujud dan tidak melakukan apa-apa jika ia sudah wujud.
INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES ('ANI Received');
2. SELECT...WHERE NOT EXISTS
Pendekatan alternatif ini menggunakan pernyataan SELECT untuk menyemak kewujudan rekod sebelum melakukan sisipan. Jika pernyataan SELECT tidak mengembalikan baris (menunjukkan rekod tidak wujud), pernyataan INSERT dilaksanakan.
INSERT INTO EVENTTYPE (EventTypeName) SELECT 'ANI Received' WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');
Kedua-dua pendekatan ini menyediakan alternatif kepada sintaks IF NOT EXISTS dan boleh digunakan untuk memasukkan secara bersyarat data ke dalam jadual SQLite hanya jika kunci yang ditentukan tidak wujud.
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Fungsi JIKA TIDAK WUJUD dalam SQLite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!