登录
首页 >  数据库 >  MySQL

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

来源:tutorialspoint

时间:2023-08-30 20:43:48 168浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《我们如何在现有 MySQL 表的多个列上设置 PRIMARY KEY?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

我们可以通过使用 ADD 关键字和 ALTER TABLE 语句对现有表的多列设置 PRIMARY KEY 约束。

示例

假设我们有一个表“Room_allotment”如下 -

mysql> Create table Room_allotment(Id Int, Name Varchar(20), RoomNo Int);
Query OK, 0 rows affected (0.20 sec)

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”上添加复合主键

mysql> Alter Table Room_allotment ADD PRIMARY KEY(Id, Name);
Query OK, 0 rows affected (0.29 sec)
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?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!

声明:本文转载于:tutorialspoint 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>