Mặc định AUTO_INCREMENT bắt đầu từ 1. Để thay đổi giá trị khởi đầu, dùng ALTER TABLE ... AUTO_INCREMENT = value.
Cú pháp
ALTER TABLE table_name AUTO_INCREMENT = start_value;
Ví dụ minh họa
mysql> CREATE TABLE startAutoIncrement ( Counter INT AUTO_INCREMENT, PRIMARY KEY (Counter) ); Query OK, 0 rows affected (0.90 sec) mysql> ALTER TABLE startAutoIncrement AUTO_INCREMENT = 20; Query OK, 0 rows affected (0.30 sec) mysql> INSERT INTO startAutoIncrement VALUES (), (), (); Query OK, 3 rows affected
Kết quả:
+---------+ | Counter | +---------+ | 20 | | 21 | | 22 | +---------+
Các trường hợp sử dụng
- Hợp nhất dữ liệu từ nhiều database, tránh trùng khóa chính.
- Khôi phục dữ liệu, tiếp tục chuỗi ID.
- Yêu cầu nghiệp vụ: ID đơn hàng bắt đầu từ 10000.
Lưu ý quan trọng
- Giá trị
AUTO_INCREMENTmới phải lớn hơn giá trị MAX hiện tại trong cột. Nếu đặt nhỏ hơn, MySQL sẽ tự điều chỉnh lên MAX+1. - Không thể giảm
AUTO_INCREMENTbằng lệnh này (cần recreate table hoặc TRUNCATE). - Xem giá trị hiện tại:
SHOW TABLE STATUS LIKE 'table_name'hoặcSELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME='table_name'.