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

时间:2018-05-21 17:00:54

标签: mysql sql composite-primary-key

假设我们创建了下表:

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

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

1 个答案:

答案 0 :(得分:3)

不,他们不必分开独特。只有对应该是唯一的。

示例:

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 Demo