如何在mysql中重置表的主键?

mysqlmysqli database

重置表的主键意味着将auto_increment属性重置为1。重置表主键的语法如下。

alter table yourTableName auto_increment = 1;

为了理解,让我们创建一个表 −

mysql> create table ResetPrimaryKey
−> (
   −> Id int auto_increment,
   −> PRIMARY KEY(Id)
−> );
Query OK, 0 rows affected (0.59 sec)

向表中插入一些记录。插入记录的查询如下 −

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)

现在您可以借助 select 语句显示所有记录。查询如下 −

mysql> select *from ResetPrimaryKey;

以下是仅显示 ID(即主键)的输出:

+----+
| Id |
+----+
| 1  |
| 2  |
| 3  |
| 4  |
+----+
4 rows in set (0.00 sec)

以下是使用 alter − 重置表主键的查询

mysql> alter table ResetPrimaryKey auto_increment = 1;
Query OK, 0 rows impacted (0.21 sec)
Records: 0 Duplicates: 0 Warnings: 0

用于检查我们是否已成功添加 auto_increment 属性的查询:

mysql> desc ResetPrimaryKey;

以下是输出 −

+-------+---------+------+-----+---------+----------------+
| Field | Type    | Null | Key | Default | Extra          |
+-------+---------+------+-----+---------+----------------+
| Id    | int(11) | NO   | PRI | NULL    | auto_increment |
+-------+---------+------+-----+---------+----------------+
1 row in set (0.11 sec)

相关文章