如何将 MySQL 中的主键更改为自动增量?


要将主键更改为自动增量,可以使用 MODIFY 命令。我们先创建一个表。

mysql> create table changePrimaryKeyInAutoIncrement
   -> (
   -> StudentId int not null primary key,
   -> StudentName varchar(100),
   -> StudentAge int,
   -> StudentAddress varchar(100)
   -> );
Query OK, 0 rows affected (0.63 sec)

现在让我们使用 desc 命令检查表的描述

mysql> desc changePrimaryKeyInAutoIncrement;

这样会产生以下输出

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| StudentId      | int(11)      | NO   | PRI | NULL    |       |
| StudentName    | varchar(100) | YES  |     | NULL    |       |
| StudentAge     | int(11)      | YES  |     | NULL    |       |
| StudentAddress | varchar(100) | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

看看上面的示例输出,StudentId 列是主键。现在让我们将主键更改为自动增量

mysql> alter table changePrimaryKeyInAutoIncrement MODIFY StudentId INT AUTO_INCREMENT;
Query OK, 0 rows affected (1.48 sec)
Records: 0 Duplicates: 0 Warnings: 0

让我们再次检查表描述

mysql> desc changePrimaryKeyInAutoIncrement;

这样会产生以下输出

+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| StudentId      | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName    | varchar(100) | YES  |     | NULL    |                |
| StudentAge     | int(11)      | YES  |     | NULL    |                |
| StudentAddress | varchar(100) | YES  |     | NULL    |                |
+----------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

看看上面的示例输出,StudentId 列已被更改为自动增量。

更新于: 2019 年 7 月 30 日

4K+ 浏览量

开启你的 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.