我想在一个由两列组成的 SQLite 表中创建一个主键,这些列的工作方式如下:
- 列:
id1
,id2
,value
- 多行可以共享
id1
- 多行可以共享
id2
- 但只有一排可以同时共享
id1
id2
我读了很多书,但我发现的所有问题都告诉我如何制作两个独立的主键,但这不是我的情况。
我想在一个由两列组成的 SQLite 表中创建一个主键,这些列的工作方式如下:
id1
, id2
,value
id1
id2
id1
id2
我读了很多书,但我发现的所有问题都告诉我如何制作两个独立的主键,但这不是我的情况。
是的,你可以这样做。
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
。