SQLite表中的主键由两列组成

时间:2012-10-05 10:41:46

标签: sqlite

我想在由两列组成的SQLite表中创建一个主键,其工作方式如下:

  • 列:id1id2value
  • 多行可以共享id1
  • 多行可以共享id2
  • 但只有一行可以共享 id1 id2

我读了很多,但我发现的所有问题都告诉我如何制作两个独立的主键,但这不是我的情况。

1 个答案:

答案 0 :(得分:2)

是的,你可以这样做。

sqlite> create table t (f1 integer, f2 integer);
sqlite> create unique index i12 on t (f1, f2);
sqlite> .schema
CREATE TABLE t (f1 integer, f2 integer);
CREATE UNIQUE INDEX i12 on t (f1, f2);
sqlite> insert into t values (1,2);
sqlite> insert into t values (1,3);
sqlite> insert into t values (2,2);
sqlite> insert into t values (1,2);
Error: columns f1, f2 are not unique

参见CREATE INDEX的参考资料。