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

Đặt lại giá trị AUTO_INCREMENT về 0 hoặc reset trường tự động tăng trong MySQL?

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;