Apa yang dilakukan INSERT ON DUPLICATE KEY UPDATE di MySQL?

Apa Yang Dilakukan Insert On Duplicate Key Update Di Mysql



Saat bekerja dengan database MySQL, pengguna terkadang mengalami kesalahan pelanggaran kunci duplikat saat mencoba memasukkan catatan baru ke dalam tabel. Kesalahan ini terjadi saat baris dengan kunci utama atau kunci unik yang sama sudah ada. Namun, masalah ini dapat diatasi dengan memperbarui catatan yang sudah ada dengan nilai baru. Dalam kasus seperti itu, mengaktifkan “ MASUKKAN PADA PEMBARUAN KUNCI GANDA Fitur ” akan secara efektif menyelesaikan masalah ini.

Posting ini akan menunjukkan apa itu 'INSERT ON DUPLICATE KEY UPDATE' dan bagaimana cara kerjanya di MySQL.







Apa yang dilakukan INSERT ON DUPLICATE KEY UPDATE di MySQL?

Di MySQL, file MASUKKAN PADA PEMBARUAN KUNCI GANDA adalah fitur lanjutan dari pernyataan INSERT yang menggabungkan dua fungsi menjadi satu operasi. Misalnya, ini menyisipkan record ke dalam tabel tertentu jika record yang diberikan belum ada. Namun jika record yang diinginkan sudah ada, maka record yang ada akan diupdate dengan nilai yang baru.



Untuk mengaktifkan fitur INSERT ON DUPLICATE KEY UPDATE, pengguna harus mengikuti sintaks yang diberikan di bawah ini:



MASUKKAN KE DALAM [ table_name ] ( [ kolom_1 ] , [ kolom_2 ] , ... )
NILAI ( [ val_1 ] , [ val_2 ] , ... )
PADA PEMBARUAN KUNCI GANDA [ kolom_1 ] = [ val_1 ] , [ kolom_2 ] = [ val_2 ] , ...;





Tentukan nama tabel, nama kolom, dan nilai pilihan Anda di tempat nama_tabel, col_1, col_2, … dan val_1, val_2, …, dll.

Contoh: Bagaimana Cara Menggunakan Fitur INSERT ON DUPLICATE KEY UPDATE di MySQL?



Pertama, sambungkan ke database MySQL dengan hak istimewa yang sesuai dan kemudian jalankan perintah di bawah ini untuk mengambil data dari tabel “linuxhint_author”:

PILIH * DARI linuxhint_author;

Perintah pilih mengambil semua catatan dari tabel 'linuxhint_author':

Sekarang jalankan perintah SQL berikut untuk menyisipkan atau memperbarui catatan tertentu di tabel 'linuxhint_author', dengan mengaktifkan fitur 'ON DUPLICATE KEY UPDATE':

MASUKKAN KE linuxhint_author ( pengenal , nama, usia, peringkat penulis, email )
NILAI ( 6 , 'Alex Johnson' , 29 , 3 , 'alex@contoh.com' )
PADA PEMBARUAN KUNCI GANDA
nama = NILAI ( nama ) ,
umur = NILAI ( usia ) ,
AuthorRank = NILAI ( peringkat penulis ) ,
email = NILAI ( surel ) ;

Karena catatan yang ditentukan belum ada di tabel 'linuxhint_author', itu akan berhasil dimasukkan ke dalam tabel yang dipilih:

Mari masukkan rekaman duplikat dan lihat bagaimana ' PADA PEMBARUAN KUNCI GANDA ” fitur bekerja di MySQL:

MASUKKAN KE linuxhint_author ( pengenal , nama, usia, peringkat penulis, email )
NILAI ( 3 , 'Michael Johnson' , 28 , 4 , 'michael@example.com' )
PADA PEMBARUAN KUNCI GANDA
nama = NILAI ( nama ) ,
umur = NILAI ( usia ) ,
AuthorRank = NILAI ( peringkat penulis ) ,
email = NILAI ( surel ) ;

Dari cuplikan di bawah, terlihat jelas bahwa record yang sudah ada berhasil diperbarui dengan nilai baru:

Fitur 'INSERT ON DUPLICATE KEY' juga dapat diterapkan ke kolom tertentu alih-alih seluruh catatan:

MASUKKAN KE linuxhint_author ( pengenal , peringkat penulis )
NILAI ( 3 , 2 )
ON DUPLICATE KEY UPDATE authorRank = VALUES ( peringkat penulis ) ;

Dalam kode di atas, 'authorRank' dari penulis dengan ID '3' sedang diperbarui ke nilai baru '2':

Beginilah cara kerja fitur “INSERT ON DUPLICATE KEY UPDATE” di MySQL.

Kesimpulan

Di MySQL, file MASUKKAN PADA PEMBARUAN KUNCI GANDA adalah fitur lanjutan yang memungkinkan kita menggabungkan fungsi memasukkan baris baru dan memperbarui/memodifikasi baris yang sudah ada dalam satu operasi. Fitur ini membantu pengguna menghindari kesalahan 'pelanggaran kunci duplikat' saat mencoba memasukkan baris baru ke dalam tabel tertentu. Posting ini telah menjelaskan apa itu “INSERT ON DUPLICATE KEY UPDATE” dan bagaimana cara kerjanya di MySQL.