首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使mysql delete查询的联接工作

无法使mysql delete查询的联接工作
EN

Stack Overflow用户
提问于 2011-01-20 13:10:13
回答 1查看 2.8K关注 0票数 5

我知道有不止一个问题与此相匹配,但我是mysql的新手,我似乎不能使用子任务或使用关键字来完成这项工作,再加上我发现mysql在线文档是一个完全神秘的东西。

我开始尝试使用SELECT查询作为我的基础来构建我的DELETE查询,并且能够获得我想要删除的所有行:

代码语言:javascript
复制
select *
from writings_tags_link
join writing_tags on writing_tags.id = writings_tags_link.tag_id
where writing_tags.tag = 'tag one'

然后将select all替换为DELETE so:

代码语言:javascript
复制
delete
from writings_tags_link
join writing_tags on writing_tags.id = writings_tags_link.tag_id
where writing_tags.tag = 'tag one'

我从错误消息和其他类似的帖子中了解到,您不能在delete查询中使用'ON‘来连接表,您必须使用USING或子查询。我使用构建的查询返回一个非常奇怪的错误,首先是查询:

代码语言:javascript
复制
DELETE
FROM writings_tags_link
USING writing_tags_link INNER JOIN writing_tags  
WHERE writing_tags.id = writings_tags_link.tag_id 
AND writing_tags.tag ='tag one'

错误:

代码语言:javascript
复制
#1109 - Unknown table 'writings_tags_link' in MULTI DELETE

这个表确实存在,显然,我最初的select查询返回了所需的结果。任何帮助/解释都将非常感谢!

请记住,我只是尝试删除链接表中的数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-20 13:15:06

有关在使用连接- documentation provides examples in the multi-delete section时要求在DELETE语法中使用USING关键字的信息不正确

代码语言:javascript
复制
DELETE wtl
  FROM WRITINGS_TAGS_LINK wtl
  JOIN WRITING_TAGS wt ON wt.id = wtl.tag_id
 WHERE wt.tag = 'tag one'
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4743649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档