0

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

  • 列:id1, id2,value
  • 多行可以共享id1
  • 多行可以共享id2
  • 但只有一排可以同时共享 id1 id2

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

4

1 回答 1

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

于 2012-10-05T10:51:41.557 回答