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