Bạn có thể đặt lại bộ đếm bằng:
ALTER TABLE tablename AUTO_INCREMENT = 1
Đối với InnoDB
bạn không thể đặt auto_increment
giá trị thấp hơn hoặc bằng chỉ số hiện tại cao nhất. (trích dẫn từ ViralPatel
):
Lưu ý rằng bạn không thể đặt lại bộ đếm về giá trị nhỏ hơn hoặc bằng bất kỳ giá trị nào đã được sử dụng. Đối với MyISAM, nếu giá trị nhỏ hơn hoặc bằng giá trị lớn nhất hiện tại trong cột AUTO_INCREMENT, giá trị được đặt lại thành giá trị tối đa hiện tại cộng thêm một. Đối vớiInnoDB, nếu giá trị nhỏ hơn giá trị lớn nhất hiện tại trong cột, thì không có lỗi nào xảy ra và giá trị trình tự hiện tại không bị thay đổi.
Xem Làm cách nào để đặt lại MySQL AutoIncrement bằng cách sử dụng giá trị MAX từ một bảng khác? về cách tự động nhận một giá trị có thể chấp nhận được.