You are missing parentheses here: create table if not exists a (id integer primary key autoincrement, a text unique, b default current_timestamp); create table if not exists b (id integer primary key autoincrement, a integer references a(id) on update cascade on delete cascade, b text, c text, d text, e text, f real, g text, h text, unique (a, b) on conflict ignore); create table if not exists c (id integer primary key autoincrement, a integer, b integer references b(id) on update cascade on delete cascade, c integer, d text, e integer, f text, g blob, unique (a, b, c) on conflict ignore);
Also here you miss 'a' insert into c (a, b, c, d, e, f, g) values (:a, :b, :c, :d, :e, :f, :g); Also what sqlite version are you using? I have run this with the latest available version (3.7.12.1) under SQLite Manager (Firefox / Iceweasel extension). If you need any further help, please let me know. Cheers. Stefanos >________________________________ > From: Jörgen Hägglund <jor...@sirlucifer.mine.nu> >To: sqlite-users@sqlite.org >Sent: Sunday, June 3, 2012 11:10 PM >Subject: [sqlite] Foreign key constraint failed > >Hi all! >I have just recently discovered the strengths of foreign keys but now, I've >been banging my head against the wall for a couple of days. >I just can't figure out what is causing the error or how to get around it. >Here's the specs (simplified) of my DB; > >create table if not exists a (id integer primary key autoincrement, a text >unique, b default current_timestamp); >create table if not exists b (id integer primary key autoincrement, a integer >references a(id) on update cascade on delete cascade, b text, c text, d text, >e text, f real, g text, h text, unique (a, b) on conflict ignore; >create table if not exists c (id integer primary key autoincrement, a integer, >b integer references b(id) on update cascade on delete cascade, c integer, d >text, e integer, f text, g blob, unique (a, b, c) on conflict ignore; > >And the insert query; > >insert into c (b, c, d, e, f, g) values (:a, :b, :c, :d, :e, :f, :g); > >The problem is that I get a "Foreign key constraint failed" error when I try >to insert the same data twice. The first time it works as it should and the >data is inserted correctly. But, the second time, I get the exception. > >Is there anyone out there who's willing (and able) to help me? And hopefully >explain what I'm doing wrong. > >Regards, >/Jörgen > >_______________________________________________ >sqlite-users mailing list >sqlite-users@sqlite.org >http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > > > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users