In SQLite for iOS (3.7.7) I am running these queries:
PRAGMA foreign_keys = ON;
create table venue(id integer primary key not null, name text not null);
create
I followed what Catcall said and it worked for me: setting foreign_keys
by running
stmt.execute("PRAGMA foreign_keys = ON");
each time I establish a connection to the database.
The problem seems to be the usage of multiple handles in different threads although synchronized. Since sqlite included in iOS is new enough to allow one handle to be used across threads as long as they are properly synchronized, using one single handle instead of several should make this a no-problem. But I would be interested in getting to know how and if someone else solves this problem.