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

在一个查询中从两个表中删除

巫马山
2023-03-14
问题内容

我在MySQL中有两个表

#messages table  : 
messageid
messagetitle 
.
.

#usersmessages table 
usersmessageid 
messageid
userid
.
.

现在,如果我想从邮件表中删除就可以了。但是,当我通过messageid删除消息时,该记录仍然存在于usersmessage上,我必须立即从这两个表中删除。

我使用以下查询:

DELETE FROM messages LEFT JOIN usersmessages USING(messageid) WHERE messageid='1' ;

然后我测试

   DELETE FROM messages , usersmessages 
   WHERE messages.messageid = usersmessages.messageid 
   and messageid='1' ;

但是这两个查询并没有完成此任务。


问题答案:

您不能用分号分隔它们吗?

Delete from messages where messageid = '1';
Delete from usersmessages where messageid = '1'

要么

只需INNER JOIN如下使用

DELETE messages , usersmessages  FROM messages  INNER JOIN usersmessages  
WHERE messages.messageid= usersmessages.messageid and messages.messageid = '1'


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

  • 应答表 HTTP状态500-请求处理失败;嵌套异常为org.hibernate.hql.internal.ast.QuerySyntaxException:意外标记:,靠近第1行,第38列[DELETE com.online.test.model.question,Answer FROM com.online.test.model.question que LEFT JOIN Answer ans

  • 问题内容: 我正在尝试一次从三个表中检索数据。这些表如下所示: 类别 讯息 评论 我想要得到的是1条消息(因为我有一个基于id的子句),3个类别(因为有3个类别链接到消息)和2条注释(因为有2条注释链接到消息)。 我正在尝试使用以下查询来检索数据: 但是,当运行此查询时,我得到6个结果: 在我预期结果如下的地方: 只有三行,我应该能够获取所有需要的数据。这有可能吗?我做错了吗?? 问题答案: 如评

  • 问题内容: 我有两个用于查询表中行的SQL查询,具体取决于类型2或3。 查询1: 查询2: 现在,我只想获取和使用一个查询的值。如何使用一个查询获得计数。有没有办法做到这一点。我正在使用SQLite数据库。 编辑: 我想要分别为和的值,而不是两者都在一起(不使用)。 问题答案: 尝试使用 对于两个变量:

  • 无法找到这个问题的答案。我有一个mysqli循环语句。在这个循环中,我想运行另一个查询。我不能同时编写这两个sql。可能吗?我想,因为我使用stmt并设置它来准备语句。所以我添加了另一个变量stmt2。单独运行它们是可行的,但像我写的那样运行它会给我“mysqli致命错误:对非对象调用成员函数bind_param()” 伪代码: 答案是: 我真傻,我不知道我必须有两个mysqli连接。所以解决方案

  • 我有3张桌子,ERA、RA和LOCS null 2-删除: locs:在1中找到与LOCS_KEY匹配的行 RA:与来自1的REMOTE_ID匹配的行