联合主键创建,Navicat 创建联合主键
最新推荐文章于 2025-09-23 13:42:32 发布
原创
最新推荐文章于 2025-09-23 13:42:32 发布
·
6.1k 阅读
·
7
·
11
·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
文章标签:
#数据库
联合主键是用于确保数据库表中多个列的组合值唯一。在Navicat中,可以通过创建表时指定或修改已有表结构来设置联合主键,例如在orders表中,将order_id和product_id作为联合主键,保证了order_id和product_id的组合不能重复。创建和修改联合主键的SQL语句分别示例如下:CREATETABLEorders(order_idINTNOTNULL,product_idINTNOTNULL,quantityINT,PRIMARYKEY(order_id,product_id));ALTERTABLEordersADDPRIMARYKEY(order_id,product_id);
当使用两个列或两个以上来定义主键时,这两个列被称为联合主键。联合主键的作用是确保表中不会存在重复的组合值。
在 Navicat 中直接把多个列设置成主键就可以创建联合主键了。
eg:A 列和 B 列,假设都是整形。如果 A 和 B 被定义位联合主键,那么 A:1, B:1 和 A:1, B:2 是可以同时存在的;如果是 A:1, B:1 和 A:1, B:1,那么由于这两个组合是一样的,所以是不能同时存在的。
以下是创建表并设置联合主键
CREATE TABLE orders (
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT,
PRIMARY KEY (order_id, product_id)
);
以下是给已创建的表设置联合主键
ALTER TABLE orders
ADD PRIMARY KEY (order_id, product_id);