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

Cách tự động tăng (auto increment) lại từ 1 sau khi xóa dữ liệu trong MySQL

Để làm điều này, bạn có thể sử dụng lệnh TRUNCATE TABLE. Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable1796 (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(20)
    ); Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable1796(StudentName) VALUES('Chris Brown'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1796(StudentName) VALUES('David Miller'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1796(StudentName) VALUES('John Doe'); Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable1796;

Kết quả sẽ như sau:

+-----------+--------------+
| StudentId | StudentName  |
+-----------+--------------+
|         1 | Chris Brown  |
|         2 | David Miller |
|         3 | John Doe     |
+-----------+--------------+
3 rows in set (0.00 sec)

Dưới đây là truy vấn để xóa bản ghi khỏi bảng:

mysql> DELETE FROM DemoTable1796; Query OK, 3 rows affected (0.00 sec)

Bây giờ chèn một bản ghi vào bảng:

mysql> INSERT INTO DemoTable1796(StudentName) VALUES('John Doe'); Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM DemoTable1796;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         4 | John Doe    |
+-----------+-------------+
1 row in set (0.00 sec)

Bây giờ bạn có thể sử dụng lệnh TRUNCATE TABLE:

mysql> TRUNCATE TABLE DemoTable1796; Query OK, 0 rows affected (0.00 sec)

Bây giờ, hãy chèn một số bản ghi vào bảng:

mysql> INSERT INTO DemoTable1796(StudentName) VALUES('John Doe'); Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM DemoTable1796;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
|         1 | John Doe    |
+-----------+-------------+
1 row in set (0.00 sec)