Reset AUTO_INCREMENT trong MySQL
Sử dụng câu lệnh ALTER TABLE để đặt giá trị tự động tăng (auto_increment) về 0 hoặc một giá trị cụ thể khác.
Cú pháp
ALTER TABLE ten_bang_cua_ban AUTO_INCREMENT = 0;
Cú pháp trên sẽ khiến giá trị tự động tăng bắt đầu từ 1.
Ví dụ minh họa
Tạo bảng với AUTO_INCREMENT bắt đầu từ 109:
mysql> CREATE TABLE DemoTable698 (
ClientId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
) AUTO_INCREMENT = 109;
Query OK, 0 rows affected (0.88 sec)
Reset AUTO_INCREMENT về 0:
mysql> ALTER TABLE DemoTable698 AUTO_INCREMENT = 0; Query OK, 0 rows affected (0.21 sec) Records: 0 Duplicates: 0 Warnings: 0
Chèn bản ghi mới (không chỉ định giá trị cho ClientId):
mysql> INSERT INTO DemoTable698 VALUES(); Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO DemoTable698 VALUES(); Query OK, 1 row affected (0.12 sec) mysql> INSERT INTO DemoTable698 VALUES(); Query OK, 1 row affected (0.12 sec)
Kiểm tra kết quả:
mysql> SELECT * FROM DemoTable698;
Kết quả - AUTO_INCREMENT đã bắt đầu lại từ 1:
+----------+ | ClientId | +----------+ | 1 | | 2 | | 3 | +----------+ 3 rows in set (0.00 sec)
Lưu ý
- Giá trị AUTO_INCREMENT mới phải lớn hơn giá trị lớn nhất hiện có trong cột (nếu bảng đã có dữ liệu)
- Trong MySQL 8.0+, việc đặt AUTO_INCREMENT = 0 sẽ tự động điều chỉnh thành giá trị lớn nhất + 1
- Có thể đặt giá trị cụ thể:
ALTER TABLE ten_bang AUTO_INCREMENT = 1000;