将现有列设置为MySQL中的主键?

您可以借助alter命令在MySQL中的现有列上设置主键。

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

ALTER TABLE yourTableName ADD PRIMARY KEY(yourColumnName);

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

mysql> create table AddingPrimaryKeyDemo
   −> (
      −> UniversityId int,
      −> UniversityName varchar(200)
   −> );

看上面的查询,我还没有添加主键。让我们借助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);
Records: 0 Duplicates: 0 Warnings: 0

现在,我已将primary添加到现有列“ 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”,因此成功添加了主键。