Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencapai Fungsi JIKA TIDAK WUJUD dalam SQLite?

Bagaimana untuk Mencapai Fungsi JIKA TIDAK WUJUD dalam SQLite?

Patricia Arquette
Patricia Arquetteasal
2024-12-15 16:37:14366semak imbas

How to Achieve IF NOT EXISTS Functionality in SQLite?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn