Đặt lại khóa chính của bảng có nghĩa là đặt lại thuộc tính auto_increment thành 1. Cú pháp như sau để đặt lại khóa chính của bảng.
alter table yourTableName auto_increment = 1;
Để hiểu, chúng ta hãy tạo một bảng -
mysql> create table ResetPrimaryKey −> ( −> Id int auto_increment, −> PRIMARY KEY(Id) −> ); Query OK, 0 rows affected (0.59 sec)
Chèn một số bản ghi vào bảng. Truy vấn để chèn bản ghi như sau -
mysql> insert into ResetPrimaryKey values(); Query OK, 1 row affected (0.18 sec) mysql> insert into ResetPrimaryKey values(); Query OK, 1 row affected (0.15 sec) mysql> insert into ResetPrimaryKey values(); Query OK, 1 row affected (0.09 sec) mysql> insert into ResetPrimaryKey values(); Query OK, 1 row affected (0.09 sec)
Bây giờ bạn có thể hiển thị tất cả các bản ghi với sự trợ giúp của câu lệnh select. Truy vấn như sau -
mysql> select *from ResetPrimaryKey;
Sau đây là đầu ra chỉ hiển thị ID, là một Khóa chính:
+----+ | Id | +----+ | 1 | | 2 | | 3 | | 4 | +----+ 4 rows in set (0.00 sec)
Đây là truy vấn để đặt lại khóa chính của bảng bằng cách sử dụng thay đổi -
mysql> alter table ResetPrimaryKey auto_increment = 1; Query OK, 0 rows affected (0.21 sec) Records: 0 Duplicates: 0 Warnings: 0
Truy vấn để kiểm tra xem chúng tôi đã thêm thuộc tính auto_increment thành công hay chưa:
mysql> desc ResetPrimaryKey;
Sau đây là kết quả -
+-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | +-------+---------+------+-----+---------+----------------+ 1 row in set (0.11 sec)