Delete multiple tables from a single query by sepa

2019-02-20 16:44发布

问题:

I am trying to delete multiple tables in a single operation from sqlite. I tried separating it by semicolon but it didn't work out as expected. Here is my current code :

NSString *query = @"DELETE from Friends;DELETE from Stream;DELETE from Version";

I need some guidance on what could the problem be here, or if I am missing something.

回答1:

To make an atomic operation out of multiple statements, use a transaction:

BEGIN;
DELETE FROM Friends;
DELETE FROM Stream;
DELETE FROM Version;
COMMIT;

You have to execute these five commands one by one if you're using sqlite3_prepare_v2; with sqlite3_exec, you can execute them with one call (but sqlite3_exec would not support SQL parameters).