当前位置: 首页 > 面试题库 >

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

赵健柏
2023-03-14
问题内容

我试图从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参数)。



 类似资料:
  • 我试图在mysql中创建一个存储过程,它在每个请求中创建一个新表,从另一个表中复制内容,提取所需的数据,最后删除该表。存储过程相当大,所以我不可能在每个查询之后都执行,因此我试图以分号分隔的格式一起执行查询。但在最终执行时,我得到错误代码:1064。我正在尝试的方法是否可行,或者是否有更好的方法。

  • 问题内容: 这个问题已经在这里有了答案 : 如何从MySQL中的多个表中删除? (7个答案) 2年前关闭。 我有4个表,每个表存储有关用户的不同信息。每个表都有一个带有user_id的字段,用于标识哪个行属于哪个用户。如果要删除用户,这是从多个表中删除该用户信息的最佳方法吗?我的目标是在一个查询中做到这一点。 查询: 问题答案: 您可以使用选项在表上定义外键约束。 然后,从父表中删除记录将从子表中

  • 问题内容: 我想轻松删除多个表,而无需在删除查询中实际列出表名,并且要删除的表的前缀为“ wp_” 问题答案: 只需分享其中一种解决方案: mysql> SELECT CONCAT(“ DROP TABLE”, GROUP_CONCAT(TABLE_NAME))as stmt 从information_schema.TABLES WHERE TABLE_SCHEMA =“ your_db_name

  • 问题内容: 我在MySQL中有两个表 现在,如果我想从邮件表中删除就可以了。但是,当我通过messageid删除消息时,该记录仍然存在于usersmessage上,我必须立即从这两个表中删除。 我使用以下查询: 然后我测试 但是这两个查询并没有完成此任务。 问题答案: 您不能用分号分隔它们吗? 要么 只需如下使用

  • 我正在尝试编写一个hql查询来从逗号分隔的单词中搜索一个单词。 我的输入是abc、xyz、par。 预期结果:如果任何单词与REGEX匹配,则应显示匹配的记录。 我尝试在hql中使用正则表达式(Ex:REGEXP_LIKE(列名,值)),但它不起作用。 请为给定场景建议一个hql查询。 更新:我的尝试是: 提前谢谢。

  • 问题内容: 这是一种对整数数组进行排序的方法。如何从输出中删除最后一个分隔符? 输出量 期望的输出 问题答案: 如果您使用的是Java 8,则非常干净的解决方案是使用新类。此类旨在将Strings与自定义分隔符(可能还带有前缀/后缀)连接在一起。使用此类,您无需担心像在代码段中一样删除最后一个分隔符。 您还可以删除循环并改用Streams: