次のように機能する2つの列で構成されるSQLiteテーブルに主キーを作成したいと思います。
- 列:
id1
、、id2
value
- 複数の行で共有できます
id1
- 複数の行で共有できます
id2
- ただし、両方
id1
を共有できるのは1つの行だけです。id2
私はたくさん読みましたが、私が見つけたすべての質問は、2つの独立した主キーを作成する方法を教えてくれましたが、それは私の場合ではありません。
次のように機能する2つの列で構成されるSQLiteテーブルに主キーを作成したいと思います。
id1
、、id2
value
id1
id2
id1
を共有できるのは1つの行だけです。 id2
私はたくさん読みましたが、私が見つけたすべての質問は、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
。