我正在尝试从 sqlite 的单个操作中删除多个表。我尝试用分号分隔它,但它没有按预期工作。这是我当前的代码:
NSString *query = @"DELETE from Friends;DELETE from Stream;DELETE from Version";
我需要一些指导来了解这里可能出现的问题,或者我是否遗漏了某些内容。
最佳答案
要从多个语句中进行原子操作,请使用事务:
BEGIN;
DELETE FROM Friends;
DELETE FROM Stream;
DELETE FROM Version;
COMMIT;
如果你使用 sqlite3_prepare_v2 则必须一一执行这五个命令;与 sqlite3_exec ,您可以通过一次调用来执行它们(但 sqlite3_exec
不支持 SQL 参数)。
关于ios - 通过分号分隔从单个查询中删除多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24547819/