小编典典

通过将分号分隔开来从单个查询中删除多个表

sql

我试图从sqlite的单个操作中删除多个表。我尝试用分号分隔它,但没有按预期进行。这是我当前的代码:

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

我需要一些指导,以解决问题可能出在哪里,或者如果我缺少什么。


阅读 238

收藏
2021-04-07

共1个答案

小编典典

要使用多个语句进行原子操作,请使用事务:

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

如果使用sqlite3_prepare_v2,则必须一个接一个地执行这五个命令。使用sqlite3_exec,您可以一次调用执行它们(但sqlite3_exec不支持SQL参数)。

2021-04-07