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

mysqlmysqli database

您可以借助 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”,说明 Primary Key 添加成功。


相关文章