我们可以通过使用ADD关键字和ALTER TABLE语句在现有表的多个列上设置PRIMARY KEY约束。
假设我们有一个表“ Room_allotment”,如下所示:
mysql> Create table Room_allotment(Id Int, Name Varchar(20), RoomNo Int); mysql> Describe Room_allotment; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(20) | YES | | NULL | | | RoomNo | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.11 sec)
现在,我们可以使用以下查询在多个列“ id”和“ Name”上添加复合PRIMARY KEY
mysql> Alter Table Room_allotment ADD PRIMARY KEY(Id, Name); Records: 0 Duplicates: 0 Warnings: 0 mysql> Describe Room_allotment; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | Id | int(11) | NO | PRI | 0 | | | Name | varchar(20) | NO | PRI | | | | RoomNo | int(11) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.12 sec)
从上面的结果集中可以看出,PRIMARY KEY已添加到多列中。