Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggunakan Kekunci Komposit dengan `KEMASKINI PADA KUNCI PENDULIK` MySQL?

Bagaimana untuk Menggunakan Kekunci Komposit dengan `KEMASKINI PADA KUNCI PENDULIK` MySQL?

Linda Hamilton
Lepaskan: 2024-12-16 02:56:09
asal
414 orang telah melayarinya

How to Use Composite Keys with MySQL's `UPDATE ON DUPLICATE KEY`?

Kunci Komposit untuk MySQL 'KEMASKINI PADA KUNCI PENDUPLICATE'

Soalan:
Bagaimana anda boleh melakukan dengan cekap pertanyaan yang mengemas kini baris jika gabungan nilai tertentu sudah wujud (menggunakan 'KEMASKINI HIDUP DUPLICATE KEY'), tetapi hanya jika kunci unik ditakrifkan?

Jawapan:
MySQL membenarkan penciptaan kunci komposit, yang terdiri daripada berbilang lajur. Dengan mentakrifkan kunci komposit, anda boleh menggunakan sintaks 'KEMASKINI PADA KUNCI DUPLICATE' walaupun kekangan unik melibatkan gabungan nilai.

Pelaksanaan:

  1. Buat Komposit Indeks:
    Gunakan sintaks berikut untuk mencipta indeks pada berbilang lajur:

    CREATE INDEX index_name ON table_name (column1, column2);
    Salin selepas log masuk
  2. Sisipkan atau Kemas Kini:
    Setelah indeks komposit dibuat, anda boleh menggunakan pertanyaan berikut untuk memasukkan baris baharu atau mengemas kini baris sedia ada berdasarkan komposit kunci:

    INSERT INTO table_name (column1, column2) VALUES (value1, value2) ON DUPLICATE KEY UPDATE column3 = column3 + 1;
    Salin selepas log masuk

    Dalam contoh ini, nilai 'column1' dan 'column2' bertindak sebagai kunci komposit. Jika baris dengan nilai 'column1' dan 'column2' yang sama sudah wujud, nilai 'column3' akan ditambah satu. Jika tidak, baris baharu akan disisipkan.

Atas ialah kandungan terperinci Bagaimana untuk Menggunakan Kekunci Komposit dengan `KEMASKINI PADA KUNCI PENDULIK` MySQL?. 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