我们如何在现有MySQL表的多个列上设置PRIMARY KEY?

我们可以通过使用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已添加到多列中。

以上是 我们如何在现有MySQL表的多个列上设置PRIMARY KEY? 的全部内容, 来源链接: utcz.com/z/335200.html

回到顶部