Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Baris Sedia Ada Semasa INSERT Menggunakan MySQL ON DUPLICATE KEY UPDATE?

Bagaimana untuk Mengemas kini Baris Sedia Ada Semasa INSERT Menggunakan MySQL ON DUPLICATE KEY UPDATE?

Mary-Kate Olsen
Lepaskan: 2024-11-30 02:30:13
asal
592 orang telah melayarinya

How to Update Existing Rows During an INSERT Using MySQL's ON DUPLICATE KEY UPDATE?

Menggunakan "INSERT INTO ... SELECT FROM ... ON DUPLICATE KEY UPDATE"

Apabila melakukan operasi sisipan dengan MySQL, ia adalah mungkin untuk mengemas kini baris sedia ada jika konflik kunci unik berlaku. Ini boleh dicapai menggunakan sintaks "INSERT INTO ... SELECT FROM ... ON DUPLICATE KEY UPDATE".

Dalam pertanyaan yang diberikan, ia bertujuan untuk memasukkan baris daripada jadual sementara ('tmp') ke dalam meja 'lee'. Jika baris dengan kunci unik yang sama ("id" dalam kes ini) sudah wujud dalam 'lee', pertanyaan harus mengemas kini lajur tertentu kepada nilai daripada jadual 'tmp'.

Sintaks untuk KEMASKINI klausa dalam senario ini adalah seperti berikut:

ON DUPLICATE KEY UPDATE column1=SELECT_column1, column2=SELECT_column2, ...
Salin selepas log masuk

Di sini, "lajur1" merujuk kepada lajur dalam jadual 'lee', dan "SELECT_column1" merujuk kepada lajur yang sepadan dalam klausa SELECT. Dengan menentukan pasangan ini, MySQL menentukan lajur yang ingin dikemas kini dengan nilai baharu daripada SELECT.

Untuk pertanyaan yang diberikan, klausa UPDATE akan kelihatan seperti:

ON DUPLICATE KEY UPDATE entct=t.entct, inact=t.inact, inadur=t.inadur, inadist=t.inadist, smlct=t.smlct, smldur=t.smldur, smldist=t.smldist, larct=t.larct, lardur=t.lardur, lardist=t.lardist, emptyct=t.emptydur, emptydur=t.emptydur
Salin selepas log masuk

Ini memastikan bahawa lajur "entct", "inact", "inadur", dan sebagainya, dikemas kini dengan nilai daripada lajur yang sepadan dalam jadual sementara apabila kunci pendua dihadapi.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Baris Sedia Ada Semasa INSERT Menggunakan MySQL ON DUPLICATE KEY UPDATE?. 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