我试图从sqlite中删除一个操作中的多个表。我尝试用分号分隔它,但它没有按预期工作。这是我目前的代码:
NSString *query = @"DELETE from Friends;DELETE from Stream;DELETE from Version";
我需要一些关于这里可能出现问题的指导,或者我是否遗漏了什么。
答案 0 :(得分:1)
要从多个语句中进行原子操作,请使用事务:
BEGIN;
DELETE FROM Friends;
DELETE FROM Stream;
DELETE FROM Version;
COMMIT;
如果您使用sqlite3_prepare_v2,则必须逐个执行这五个命令;使用sqlite3_exec,您可以通过一次调用执行它们(但sqlite3_exec
不支持SQL参数)。