复合主键属性必须是唯一的吗?

brtdzjyr  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(703)

假设我们创建了下表:

CREATE TABLE example (
    a integer,
    b integer,
    c integer,
    PRIMARY KEY (a, c)
);

显然,a和c的组合必须是唯一的。但是a和c必须是独一无二的吗?

gev0vcfq

gev0vcfq1#

不,它们不一定是唯一的。只有对应该是唯一的。
例子:

a, c
1, 3
2, 3
2, 1
2, 1  -- this will cause unique key violation

INSERT INTO example(a,b,c) VALUES (1,2,3),(2,2,3),(2,3,1);

dbfiddle演示

相关问题