Bolehkah MySQL Menggunakan Pernyataan MERGE?
Menggabungkan kedua-dua operasi INSERT dan UPDATE ke dalam satu pertanyaan selalunya diingini. Banyak pangkalan data SQL menawarkan pernyataan MERGE untuk tujuan ini. Walau bagaimanapun, adakah MySQL menyokong pernyataan sedemikian?
MySQL dan Pernyataan MERGE
MySQL tidak menyokong pernyataan MERGE secara eksplisit. Walau bagaimanapun, ia menyediakan alternatif yang mencapai kefungsian yang sama: INSERT...ON DUA KUNCI KEMASKINI.
Syntax and Use
The INSERT...ON DUPLICATE KEY Kenyataan KEMASKINI membolehkan anda memasukkan baris baharu ke dalam jadual, dan jika baris dengan kunci utama atau unik yang sama sudah wujud, ia akan mengemas kini baris sedia ada dengan nilai baharu.
Sintaks adalah seperti berikut:
INSERT INTO table (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column1 = new_value1, column2 = new_value2, ...
Contoh
Untuk menggambarkan penggunaannya, pertimbangkan contoh berikut :
INSERT INTO Employees (id, name, salary) VALUES (1, 'John Doe', 50000) ON DUPLICATE KEY UPDATE salary = salary + 10000;
Jika pekerja dengan ID 1 sudah wujud dalam Pekerja jadual, penyata ini akan mengemas kini gaji mereka dengan menambah 10000. Jika tidak, ia akan memasukkan baris baharu untuk John Doe dengan gaji 50000.
Atas ialah kandungan terperinci Adakah MySQL Menawarkan Pernyataan MERGE yang Setara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!