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
Lepaskan: 2024-12-20 10:15:10
asal
275 orang telah melayarinya

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';
Salin selepas log masuk

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');
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan