Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL INSERT .... ON DUPLICATE UPDATE - Thêm một vào autoincrement

CHÈN ... TRÊN CẬP NHẬT KHÓA DUPLICATE được mô tả như một "bộ chèn chế độ hỗn hợp" cho các mục đích của AUTO_INCREMENT của InnoDB sự điều khiển. Các phần chèn ở chế độ hỗn hợp về cơ bản là những phần chèn có giá trị tối đa số lượng AUTO_INCREMENT bắt buộc các giá trị đã biết, nhưng số lượng sẽ thực sự cần thiết không.

Các chèn ở chế độ hỗn hợp được xử lý đặc biệt theo mặc định, như được mô tả trong Tài liệu MySQL :

Nếu bạn đang sử dụng InnoDB, các lựa chọn thay thế của bạn là:

  1. Tránh INSERT ... TRÊN CẬP NHẬT KHÓA DUPLICATE .
  2. Đặt innodb_autoinc_lock_mode tham số thành 0 , đối với chế độ khóa tự động gia tăng "truyền thống", đảm bảo rằng tất cả INSERT các câu lệnh sẽ gán các giá trị liên tiếp cho AUTO_INCREMENT cột. Tuy nhiên, điều này được thực hiện bằng cách khóa trong khi câu lệnh, do đó, có thể xảy ra tình trạng mất hiệu suất liên quan đến cài đặt này.
  3. (Được khuyến nghị) Bỏ qua các khoảng trống trong AUTO_INCREMENT cột.

Lưu ý: AUTO_INCREMENT xử lý hoàn toàn khác trong MyISAM, không thể hiện hành vi này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lập chỉ mục các trường boolean

  2. Làm thế nào để có được mọi hàng thứ N trong MySQL

  3. Kết nối với cơ sở dữ liệu mysql 5.0 bằng vbscript thuần túy?

  4. Khóa bảng mysql bằng php

  5. Hàm chuyển đổi MySQL