Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan INSERT Bersyarat dalam MySQL untuk Memastikan Baris Unik?

Bagaimana untuk Melakukan INSERT Bersyarat dalam MySQL untuk Memastikan Baris Unik?

Mary-Kate Olsen
Lepaskan: 2024-12-13 05:40:13
asal
242 orang telah melayarinya

How to Perform a Conditional INSERT in MySQL to Ensure Unique Rows?

Sisipan Bersyarat MySQL: Memasukkan Hanya jika Unik

MySQL menyediakan sokongan terhad untuk sisipan bersyarat. Dalam kes khusus ini, anda menyasarkan untuk memasukkan baris ke dalam x_table hanya jika gabungan pengguna dan item tidak wujud.

Pernyataan INSERT MySQL tidak membenarkan pemasukan bersyarat langsung. Walau bagaimanapun, anda boleh menggunakan penyelesaian menggunakan subquery. Satu pendekatan ialah menggunakan klausa NOT EXISTS:

INSERT INTO x_table (instance, user, item)
SELECT 919191, 123, 456
FROM dual
WHERE NOT EXISTS (
    SELECT *
    FROM x_table
    WHERE user = 123 AND item = 456
);
Salin selepas log masuk

Dalam pertanyaan ini, subquery dengan NOT EXISTS menyemak sama ada pengguna dan item yang ditentukan sudah wujud dalam x_table. Jika tidak, baris baharu akan disisipkan. Jika tidak, tiada apa yang berlaku.

Pilihan lain ialah menggunakan pernyataan MERGE, yang membenarkan penetapan operasi pemasukan dan kemas kini bersyarat dalam satu pernyataan. Walau bagaimanapun, MERGE hanya disokong dalam MySQL sebagai sambungan, bukan sebagai sebahagian daripada fungsi teras.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan INSERT Bersyarat dalam MySQL untuk Memastikan Baris Unik?. 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