Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memastikan Baris Unik Apabila Memasukkan Data ke dalam MySQL?
MySQL menyediakan mekanisme serba boleh untuk sisipan data, membolehkan anda melaksanakan sisipan bersyarat yang menghalang baris pendua.
Menggunakan INSERT...SELECT SyntaxJika versi MySQL anda menyokong pemilihan daripada jadual lain semasa sisipan, pertimbangkan pertanyaan berikut: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 );Dalam pertanyaan ini, dwi ialah jadual satu baris yang memastikan ketersediaan baris yang sah, manakala keadaan NOT EXISTS menyemak ketiadaan baris pendua. Jika tiada padanan ditemui, baris baharu akan disisipkan.Menerokai Pernyataan MERGESebagai alternatif, pernyataan MERGE menyediakan alat yang berkuasa untuk sisipan bersyarat. Sintaksnya adalah seperti berikut:
MERGE INTO x_table AS target USING ( SELECT 919191 AS instance, 123 AS user, 456 AS item ) AS source ON (target.user = source.user AND target.item = source.item) WHEN NOT MATCHED THEN INSERT VALUES (source.instance, source.user, source.item);Dalam kes ini, klausa USING menentukan nilai yang hendak disisipkan, manakala klausa ON menetapkan kriteria padanan. Jika tiada baris yang sepadan wujud dalam jadual sasaran (x_table), INSERT dilakukan.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Baris Unik Apabila Memasukkan Data ke dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!