Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL INSERT ....ON DUPLICATE UPDATE - Menambahkan satu ke peningkatan otomatis

INSERT ... ON DUPLICATE KEY UPDATE dideskripsikan sebagai "sisipan mode campuran" untuk tujuan AUTO_INCREMENT InnoDB penanganan. Sisipan mode campuran pada dasarnya adalah penyisipan di mana maksimum jumlah AUTO_INCREMENT yang diperlukan nilainya diketahui, tetapi jumlah yang benar-benar dibutuhkan tidak.

Sisipan mode campuran ditangani secara khusus secara default, seperti yang dijelaskan dalam dokumen MySQL :

Jika Anda menggunakan InnoDB, alternatif Anda adalah:

  1. Hindari INSERT ... ON DUPLICATE KEY UPDATE .
  2. Setel innodb_autoinc_lock_mode parameter ke 0 , untuk mode kunci peningkatan otomatis "tradisional", yang menjamin bahwa semua INSERT pernyataan akan menetapkan nilai berurutan untuk AUTO_INCREMENT kolom. Namun, ini dilakukan dengan mengunci selama pernyataan, jadi ada penurunan performa yang terkait dengan setelan ini.
  3. (Disarankan) Abaikan celah di AUTO_INCREMENT kolom.

Catatan:AUTO_INCREMENT penanganannya benar-benar berbeda di bawah MyISAM, yang tidak menunjukkan perilaku ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengembalikan Posisi Item Daftar di MySQL

  2. Jumlah kumulatif MySQL dikelompokkan berdasarkan tanggal

  3. Menggunakan garpu di Ruby on Rails untuk membuat proses paralel

  4. Bagaimana cara mencetak semua kueri di Magento?

  5. Bagaimana cara menjatuhkan unik di MySQL?