在 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 添加成功。