如何设置一组值的约束?

时间:2014-06-16 07:11:02

标签: sqlite

我已经有一个id作为主键,所以我不能使用这个结构。 我有一个包含5个字段的表,我希望没有多行具有相同的field1 field2和field3值。

也就是说,假设我有A,B,C,D,E作为字段值(+1 id列)

行像;

1 2 3 4 5

A B C F A(第1行)

A B E F B(第2行)

允许

,因为字段3在行之间是不同的(第1行中的C和第2行中的E)。

但是一行

A B C E B(第3行)

不应该允许

,因为字段1 2和3与第1行完全相同。

主键(field1,field2,field3)可以解决我的问题,但我希望它是一个id,所以我不能使用它。

1 个答案:

答案 0 :(得分:1)

约束类型多于PRIMARY KEY。

使用UNIQUE constraint

CREATE TABLE MyTable(
    ID PRIMARY KEY,
    Field1,
    Field2,
    Field3,
    [...],
    UNIQUE (Field1, Field2, Field3)
);