Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Memasukkan dan Mengemas Kini Baris dengan Cekap dalam MySQL Menggunakan Kekunci Komposit dan ON DUPLICATE KEY?

Bagaimanakah Saya Boleh Memasukkan dan Mengemas Kini Baris dengan Cekap dalam MySQL Menggunakan Kekunci Komposit dan ON DUPLICATE KEY?

Linda Hamilton
Lepaskan: 2024-12-02 04:52:20
asal
967 orang telah melayarinya

How Can I Efficiently Insert and Update Rows in MySQL Using Composite Keys and ON DUPLICATE KEY?

MySQL: Menggunakan ON DUPLICATE KEY dengan Composite Lajur

Apabila bekerja dengan jadual yang tidak mempunyai lajur unik, melakukan sisipan dan kemas kini yang cekap boleh mencabar. Satu penyelesaian ialah menggunakan klausa ON DUPLICATE KEY MySQL, yang membenarkan kemas kini bersyarat berdasarkan kunci yang ditentukan.

Dalam kes jadual dengan gabungan nilai col_1 dan col_2 berfungsi sebagai pengecam unik, ON Pertanyaan DUPLICATE KEY boleh dibina menggunakan kunci komposit. Dengan mencipta indeks UTAMA atau UNIK pada kedua-dua lajur, anda boleh mendayakan penggunaan klausa ini.

// create a composite index
CREATE INDEX my_composite_index ON my_table (column1, column2);
Salin selepas log masuk
// insert or update using ON DUPLICATE KEY
INSERT INTO my_table (column1, column2, column3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE column3=column3+1;
Salin selepas log masuk

Pertanyaan ini akan memasukkan baris baharu jika gabungan nilai col_1 dan col_2 belum lagi wujud. Jika baris yang sepadan ditemui, ia akan mengemas kini nilai lajur3 dengan menambahnya sebanyak 1.

Dengan menggunakan kunci komposit bersama-sama dengan ON DUPLICATE KEY, anda boleh mencapai kemas kini dan sisipan bersyarat yang cekap, walaupun tanpa kehadiran daripada satu lajur unik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan dan Mengemas Kini Baris dengan Cekap dalam MySQL Menggunakan Kekunci Komposit dan ON DUPLICATE KEY?. 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