Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để đặt lại khóa chính của một bảng trong mysql?


Đặ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)