我有一个由3个值组成的主键表。如果我有价值观:
(1,1,1)
无法插入(1,2,2),因为第一个字段重复?我想如果主键是组合的,就不能重复这3个值的组合。
qni6mghb1#
复合键是两个或更多列的组合。它可以用来唯一地标识表中的每一行。当列被合并时,唯一性得到保证,但当单独使用时,不保证唯一性。它可以是候选键或主键。可以是不同的数据类型。
CREATE TABLE SAMPLE_TABLE (COL1 integer, COL2 varchar(30), COL3 varchar(50), PRIMARY KEY (COL1, COL2));
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<>小提琴演示
2条答案
按热度按时间qni6mghb1#
复合键是两个或更多列的组合。它可以用来唯一地标识表中的每一行。当列被合并时,唯一性得到保证,但当单独使用时,不保证唯一性。它可以是候选键或主键。可以是不同的数据类型。
flseospp2#
是的,您可以插入不同的元组:
db<>小提琴演示