ios - 通过分号分隔从单个查询中删除多个表

标签 ios sql sqlite objective-c-blocks

我正在尝试从 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/

相关文章:

sql - 列出用户 ID SQL 查询的所有好友

sql - 如何仅使用 'release' 变量对事件进行分组

android - 清除应用数据后信息的持久性

sql - 将另一列的自动递增的索引值用作默认值

ios - 当有很多 UIView 动画与使用阴影的 UILabels 一起运行并且我按下主页按钮时,设备会卡住

ios - 如何在 OpenGL ES 2.0 中获得 "Glow"着色器效果?

ios - Swift Firebase - 上下文类型 'AnyObject' 不能与字典文字一起使用

sql - Id 或 [TableName]Id 作为主键/实体标识符

android - 计算数据库中特定记录的数量时出错

ios - Swift 框架前缀?