如何在 MySQL 中将现有列设置为主键?


您可以使用 ALTER 命令在 MySQL 中将现有列设置为主键。

添加主键到现有列的语法如下所示。

ALTER TABLE yourTableName ADD PRIMARY KEY(yourColumnName);

要将现有列设置为主键,让我们首先创建一个表。创建表的查询如下所示:

mysql> create table AddingPrimaryKeyDemo
   −> (
      −> UniversityId int,
      −> UniversityName varchar(200)
   −> );
Query OK, 0 rows affected (1.16 sec)

查看上面的查询,我没有添加主键。让我们使用 DESC 命令检查一下。查询如下所示:

mysql> desc AddingPrimaryKeyDemo;

以下是输出结果:

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| UniversityId   | int(11)      | YES |      | NULL    |       |
| UniversityName | varchar(200) | YES |      | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
2 rows in set (0.09 sec)

现在,您可以使用开头讨论的语法将现有列设置为主键。添加主键的查询如下所示:

mysql> alter table AddingPrimaryKeyDemo add primary key(UniversityId);
Query OK, 0 rows affected (1.48 sec)
Records: 0 Duplicates: 0 Warnings: 0

现在,我已经将主键添加到现有列“UniversityId”。以下命令将给出结果,该结果将检查列“UniversityId”上是否存在主键。

mysql> desc AddingPrimaryKeyDemo;

以下是输出结果:

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| UniversityId   | int(11)      | NO   | PRI | NULL    |       |
| UniversityName | varchar(200) | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

我们在上面看到了“PRI”,因此主键已成功添加。

更新于:2020年6月29日

11K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告