Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Rekod ke dalam SQLite Hanya Jika Ia Belum Wujud?

Bagaimana untuk Memasukkan Rekod ke dalam SQLite Hanya Jika Ia Belum Wujud?

Susan Sarandon
Susan Sarandonasal
2024-12-20 10:15:10276semak imbas

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

SQLite: Memasukkan Rekod Hanya Jika Ia Tidak Wujud

Dalam SQLite, sintaks IF NOT EXISTS yang digunakan dalam Microsoft SQL Server bukan disokong secara langsung. Ini boleh menjadi satu cabaran apabila cuba memasukkan rekod sambil memastikan keunikannya.

Penyelesaian 1: INSERT OR IGNORE

Satu penyelesaian ialah menggunakan arahan INSERT OR IGNORE. Sintaks ini membolehkan anda memasukkan rekod baharu ke dalam jadual, tetapi jika rekod dengan kunci yang sama sudah wujud, sisipan akan diabaikan. Contohnya:

INSERT OR IGNORE INTO EVENTTYPE (EventTypeName) VALUES 'ANI Received';

Penyelesaian 2: SELECT dan INSERT

Pendekatan lain ialah menggunakan gabungan pernyataan SELECT dan pernyataan INSERT:

INSERT INTO EVENTTYPE (EventTypeName)
SELECT 'ANI Received'
WHERE NOT EXISTS (SELECT 1 FROM EVENTTYPE WHERE EventTypeName = 'ANI Received');

Sintaks ini menyemak sama ada rekod dengan EventTypeName yang ditentukan sudah wujud. Jika tidak, pernyataan INSERT dilaksanakan dan rekod baharu ditambahkan pada jadual.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Rekod ke dalam SQLite Hanya Jika Ia Belum Wujud?. 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