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

CHÈN BỎ QUA tăng bộ đếm tăng tự động ngay cả khi không có bản ghi nào được thêm vào?

Trích dẫn từ trang thủ công cho INSERT :

INSERT IGNORE cú pháp chỉ là một cách để loại bỏ các thông báo lỗi nhất định và sẽ rất hữu ích khi bạn biết rằng những lỗi đó có thể xảy ra và / hoặc muốn xử lý chúng ở giai đoạn sau. Đằng sau hậu trường, bạn vẫn có một lần chèn bình thường, ngoại trừ việc nó không thành công do một khóa bị vi phạm. MySQL cần các giá trị hàng thực tế để thực hiện chèn và bộ đếm AUTO_INCREMENT sẽ tăng theo quy tắc thông thường :

  1. Giá trị của cột là NULL.
  2. Giá trị cho cột không được đặt.
  3. Giá trị của cột lớn hơn giá trị của bộ đếm.

Vì vậy, trừ khi bạn có thể suy nghĩ lại logic của mình (ví dụ:kiểm tra xem các giá trị khóa có tồn tại hay không trước khi thực hiện chèn), cách duy nhất để đặt lại bộ đếm là BẢNG THAY THẾ :

ALTER TABLE t2 AUTO_INCREMENT = value;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kéo các cột từ bảng dẫn xuất và tổng hợp chúng trong một câu lệnh MySQL SELECT

  2. Mẹo nhanh về MySQL:Sử dụng hàm DAYOFWEEK

  3. Nối các bảng trong SQL

  4. php:cách nhanh nhất để tạo một số có 5 chữ số chưa có trong cột db của MySQL (với một thuộc tính duy nhất)

  5. Giỏ hàng Zen:Tôi muốn truy vấn từ một danh mục cụ thể tên sản phẩm, giá cả, hình ảnh, mô tả và thuộc tính của nó