Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan atau Mengemas kini Baris MySQL Berdasarkan Kunci Unik?

Bagaimana untuk Memasukkan atau Mengemas kini Baris MySQL Berdasarkan Kunci Unik?

Susan Sarandon
Susan Sarandonasal
2024-12-26 21:47:15271semak imbas

How to Insert or Update MySQL Rows Based on a Unique Key?

Memasukkan atau Mengemas kini Baris MySQL Berdasarkan Kekunci Unik

Pertimbangkan senario di mana anda menyasarkan untuk menambah data pada jadual tetapi menghadapi cabaran untuk memasukkan baris baharu semasa mengemas kini sedia ada yang berdasarkan keunikan lajur tertentu (datenum).

Untuk menangani keperluan ini, anda boleh pada mulanya cuba menggunakan pernyataan KEMASKINI seperti yang ditunjukkan dalam soalan; namun, pendekatan ini terhad kepada mengubah suai baris sedia ada sahaja. Untuk senario di mana nilai datenum tidak wujud dalam jadual, tiada tindakan akan diambil.

Untuk mencapai kedua-dua sisipan dan kemas kini berdasarkan lajur unik datenum, MySQL menyediakan INSERT ... PADA KEMASKINI KUNCI DUPLICATE sintaks. Sintaks ini membolehkan anda mentakrifkan operasi sisipan yang mengemas kini baris secara automatik jika kunci pendua ditemui.

Berikut ialah versi dipertingkatkan kenyataan KEMASKINI menggunakan sintaks INSERT ... PADA sintaks KEMASKINI KUNCI DUA:

INSERT INTO AggregatedData (datenum,Timestamp)
VALUES ("734152.979166667","2010-01-14 23:30:00.000")
ON DUPLICATE KEY UPDATE 
  Timestamp=VALUES(Timestamp)

Dalam pernyataan ini, tarikh lajur kunci unik digunakan dalam klausa INSERT, manakala nilai yang dikemas kini untuk Cap masa ditentukan dalam klausa ON DUPLICATE KEY UPDATE. Ini memastikan bahawa jika baris dengan tarikhnum yang sama sudah wujud, lajur Cap Waktu akan dikemas kini dengan nilai yang disediakan, manakala lajur lain kekal tidak berubah.

Dengan menggunakan teknik ini, anda mencapai kedua-dua sisipan baris baharu dan kemas kini baris sedia ada dalam jadual MySQL anda berdasarkan lajur kunci unik.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan atau Mengemas kini Baris MySQL Berdasarkan Kunci Unik?. 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