Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan Sisipan Bersyarat dalam MySQL untuk Mengelakkan Penyertaan Pendua?

Bagaimana untuk Melakukan Sisipan Bersyarat dalam MySQL untuk Mengelakkan Penyertaan Pendua?

Linda Hamilton
Lepaskan: 2024-12-13 09:54:14
asal
537 orang telah melayarinya

How to Perform Conditional Inserts in MySQL to Avoid Duplicate Entries?

Sisipan Bersyarat dalam MySQL

Memasukkan data ke dalam jadual dengan syarat tertentu boleh dicapai menggunakan pernyataan INSERT bersyarat. Ini menjadi amat berguna apabila anda ingin menghalang entri pendua atau memastikan integriti data. Satu senario sedemikian melibatkan memasukkan baris baharu hanya jika pengguna yang diberikan belum memiliki item tertentu.

Untuk mencapai sisipan bersyarat dalam MySQL, pertimbangkan langkah berikut:

  • Buat x_table dengan lajur (contoh, pengguna, item): Pastikan lajur tika mempunyai indeks unik untuk menghalang entri pendua.
  • Buat Pernyataan INSERT Bersyarat: Gunakan sintaks berikut untuk memasukkan baris baharu hanya jika syarat yang ditentukan dipenuhi:
INSERT INTO x_table (instance, user, item) 
SELECT <instance_value>, <user_value>, <item_value>
FROM dual
WHERE NOT EXISTS (SELECT * FROM x_table
                     WHERE user = <user_value> 
                       AND item = <item_value>)
Salin selepas log masuk
  • Ganti Pemegang Tempat: Gantikan , dan dengan nilai sebenar yang ingin anda masukkan. Sebagai contoh, untuk memasukkan instance=919191, user=123, dan item=456, pernyataan itu ialah:
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

Pernyataan ini hanya akan memasukkan baris baharu jika gabungan pengguna=123 dan item=456 belum wujud dalam x_table. Jika baris sedemikian wujud, sisipan akan dilangkau.

  • Gunakan Selain itu: Jika DBMS anda mengenakan sekatan untuk memilih daripada jadual lain semasa sisipan, anda boleh meneroka pernyataan MERGE sebagai alternatif kepada INSERT bersyarat.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Sisipan Bersyarat dalam MySQL untuk Mengelakkan Penyertaan Pendua?. 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