Để đặt lại khóa chính thành 1 sau khi xóa dữ liệu, hãy sử dụng cú pháp sau
alter table yourTableName AUTO_INCREMENT=1; truncate table yourTableName;
Sau khi thực hiện hai bước trên, bạn sẽ nhận được khóa chính bắt đầu từ 1.
Để hiểu khái niệm trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau
mysql> create table resettingPrimaryKeyDemo -> ( -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY -> ); Query OK, 0 rows affected (0.66 sec)
Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into resettingPrimaryKeyDemo values(); Query OK, 1 row affected (0.15 sec) mysql> insert into resettingPrimaryKeyDemo values(); Query OK, 1 row affected (0.10 sec) mysql> insert into resettingPrimaryKeyDemo values(); Query OK, 1 row affected (0.08 sec) mysql> insert into resettingPrimaryKeyDemo values(); Query OK, 1 row affected (0.12 sec)
Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -
mysql> select *from resettingPrimaryKeyDemo;
Sau đây là kết quả
+--------+ | UserId | +--------+ | 1 | | 2 | | 3 | | 4 | +--------+ 4 rows in set (0.00 sec)
Đây là truy vấn để đặt lại khóa chính thành 1
mysql> alter table resettingPrimaryKeyDemo AUTO_INCREMENT=1; Query OK, 0 rows affected (0.14 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> truncate table resettingPrimaryKeyDemo; Query OK, 0 rows affected (0.89 sec)
Kiểm tra các bản ghi từ bảng. Truy vấn như sau -
mysql> select *from resettingPrimaryKeyDemo; Empty set (0.00 sec)
Chèn một số bản ghi từ bảng bằng lệnh chèn. Truy vấn như sau -
mysql> insert into resettingPrimaryKeyDemo values(); Query OK, 1 row affected (0.12 sec) mysql> insert into resettingPrimaryKeyDemo values(); Query OK, 1 row affected (0.10 sec) mysql> insert into resettingPrimaryKeyDemo values(); Query OK, 1 row affected (0.10 sec)
Bây giờ hãy kiểm tra khóa chính của bảng bắt đầu từ 1. Truy vấn như sau -
mysql> select *from resettingPrimaryKeyDemo;
Sau đây là kết quả
+--------+ | UserId | +--------+ | 1 | | 2 | | 3 | +--------+ 3 rows in set (0.00 sec)