gpt4 book ai didi

mysql - 从与其他表有关系的表中删除查询

转载 作者:行者123 更新时间:2023-11-29 09:41:38 25 4
gpt4 key购买 nike

我有两个这样的表:表1-

ID | post_id | terms_id
------------------------
1 4001 2
2 4001 1
3 4001 3
4 4002 5
5 4002 2

tbl2-

terms_id | taxonomy_id | taxonomy
----------------------------------
1 30 category
2 33 keywords
3 42 location
4 52 category
5 32 category

我想要从 tbl2 中删除两个 tbl1,其中 post_id = 4001 和 (terms_id = 'category')。我无法编写此查询如何设置关系 tbl1 terms_id 和 tbl2 terms_idtbl2 terms_id 应该是“类别”。我尝试使用内部联接,但它删除了两个表数据或显示错误。我只需要从 tbl1 数据中删除。
这是我的查询:

DELETE FROM tbl1 
INNER JOIN tbl2 ON tbl2.terms_id = tbl1.terms_id
WHERE tbl2.taxonomy = 'category' AND tbl1.post_id = 4001

最佳答案

删除涉及的表在DELETE子句中声明,因此您应该声明删除行所需的表名

这应该仅根据连接表的匹配结果从 tbl1 中删除

DELETE tbl1
FROM tbl1
INNER JOIN tbl2 ON tbl1.post_id = 4001
and tbl1.terms_id = tbl2.terms_id
and tbl2.taxonomy = 'category'

关于mysql - 从与其他表有关系的表中删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com