Sqlite primary key on multiple columns
According to the documentation, it's
CREATE TABLE something ( column1, column2, column3, PRIMARY KEY (column1, column2));
CREATE TABLE something ( column1 INTEGER NOT NULL, column2 INTEGER NOT NULL, value, PRIMARY KEY ( column1, column2));
Yes. But remember that such primary key allow NULL
values in both columns multiple times.
Create a table as such:
sqlite> CREATE TABLE something (column1, column2, value, PRIMARY KEY (column1, column2));
Now this works without any warning:
sqlite> insert into something (value) VALUES ('bla-bla');sqlite> insert into something (value) VALUES ('bla-bla');sqlite> select * from something;NULL|NULL|bla-blaNULL|NULL|bla-bla