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

Reset cột AUTO_INCREMENT trong MySQL với TRUNCATE TABLE

Cách đơn giản nhất reset AUTO_INCREMENT về 1 là dùng TRUNCATE TABLE ten_bang. Lệnh này xóa toàn bộ dữ liệu và reset identity counter.

Ví dụ minh họa

Tạo bảng và chèn 3 hàng:

mysql> CREATE TABLE DemoTable1888 (Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
mysql> INSERT INTO DemoTable1888 VALUES(),(),(); -- Id = 1,2,3

Reset với TRUNCATE:

mysql> TRUNCATE TABLE DemoTable1888;
mysql> INSERT INTO DemoTable1888 VALUES(),(); -- Id = 1,2

Kết quả:

+----+
| Id |
+----+
|  1 |
|  2 |
+----+

Lưu ý: TRUNCATE không kích hoạt trigger, không thể rollback, reset AUTO_INCREMENT ngay cả khi có foreign key tham chiếu (sẽ báo lỗi nếu có FK). Dùng ALTER TABLE ... AUTO_INCREMENT = 1 nếu chỉ muốn reset counter không xóa dữ liệu.