Reputation: 4963
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 table event(id integer primary key not null, name text not null,
venue_id integer references venue(id) on delete cascade);
But when I delete a venue, the children events are not deleted. Any ideas?
Upvotes: 1
Views: 3023
Reputation: 81
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.
Upvotes: 5
Reputation: 4963
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.
Upvotes: 0