如何重置 MySQL 表的主键?


重置表的 primary key 是指将 auto_increment 属性重置为 1。以下是在 MySQL 中重置表主键的语法。

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 是主键

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

这里是对表使用 alter 重置主键的查询 −

mysql> alter table ResetPrimaryKey auto_increment = 1;
Query OK, 0 rows affected (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)

更新于: 2020 年 6 月 29 日

931 次浏览

开启你的 职业生涯

完成课程即可获得认证

开始学习
广告