The column can be unique as well, correct? SQLite version 3.17.0 2017-02-13 16:02:40 Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database. sqlite> pragma foreign_keys = 1; sqlite> create table x (a integer primary key, b integer unique, c text); sqlite> insert into x (a, b, c) values (1, 11, 'a'); sqlite> insert into x (a, b, c) values (2, 22, 'a'); sqlite> insert into x (a, b, c) values (3, 33, 'b'); sqlite> create table y1 (a integer references x(a)); sqlite> insert into y1 values(1); sqlite> create table y2 (b integer references x(b)); sqlite> insert into y2 values(11); sqlite> create table y3 (c text references x(c)); sqlite> insert into y3 values('a'); Error: foreign key mismatch - "y3" referencing "x" sqlite> insert into y3 values('b'); Error: foreign key mismatch - "y3" referencing "x" sqlite>
On Mon, Feb 27, 2017 at 3:07 PM, Richard Hipp <d...@sqlite.org> wrote: > On 2/27/17, James K. Lowden <jklow...@schemamania.org> wrote: > > SQLite requires that foreign keys refer to primary > > keys. > > No it doesn't. Where did you get that impression? > > -- > D. Richard Hipp > d...@sqlite.org > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users