Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Reset AUTO_INCREMENT trong MySQL bằng TRUNCATE TABLE

Cách nhanh nhất để đặt lại giá trị AUTO_INCREMENT về 1 là sử dụng TRUNCATE TABLE (xóa toàn bộ dữ liệu và reset counter).

Tạo bảng có AUTO_INCREMENT

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> PRIMARY KEY(Id)
    -> );
Query OK, 0 rows affected (0.52 sec)

Chèn 4 bản ghi

mysql> INSERT INTO DemoTable VALUES(), (), (), ();
Query OK, 4 rows affected (0.16 sec)
mysql> SELECT * FROM DemoTable;
+----+
| Id |
+----+
| 1  |
| 2  |
| 3  |
| 4  |
+----+
4 rows in set (0.00 sec)

Reset AUTO_INCREMENT với TRUNCATE

mysql> TRUNCATE TABLE DemoTable;
Query OK, 0 rows affected (0.80 sec)

Chèn lại dữ liệu, Id bắt đầu từ 1

mysql> INSERT INTO DemoTable VALUES(), ();
Query OK, 2 rows affected (0.16 sec)
mysql> SELECT * FROM DemoTable;
+----+
| Id |
+----+
| 1  |
| 2  |
+----+
2 rows in set (0.00 sec)

Lưu ý: TRUNCATE xóa toàn bộ dữ liệu trong bảng. Nếu cần giữ dữ liệu nhưng reset counter, dùng ALTER TABLE DemoTable AUTO_INCREMENT = 1 (chỉ hoạt động nếu giá trị mới lớn hơn max ID hiện tại).