mysql中的sql组合主键

wnavrhmk  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(402)

我有一个由3个值组成的主键表。如果我有价值观:

(1,1,1)

无法插入(1,2,2),因为第一个字段重复?我想如果主键是组合的,就不能重复这3个值的组合。

qni6mghb

qni6mghb1#

复合键是两个或更多列的组合。它可以用来唯一地标识表中的每一行。当列被合并时,唯一性得到保证,但当单独使用时,不保证唯一性。它可以是候选键或主键。可以是不同的数据类型。

CREATE TABLE SAMPLE_TABLE  
(COL1 integer,  
COL2 varchar(30),  
COL3 varchar(50),  
PRIMARY KEY (COL1, COL2));
flseospp

flseospp2#

是的,您可以插入不同的元组:

CREATE TABLE t(a INT, b INT, c INT, d TEXT, PRIMARY KEY(a,b,c));

INSERT INTO t(a,b,c,d) VALUES(1,1,1, 'a');
INSERT INTO t(a,b,c,d) VALUES(1,2,2, 'b');

SELECT * FROM t;

db<>小提琴演示

相关问题