【发布时间】:2019-06-09 10:50:40
【问题描述】:
我有两个这样的表: tbl1-
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_id
并且 tbl2 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
【问题讨论】:
-
向我们展示您当时尝试过的查询。如果您的连接查询删除过多,则其中一定有错误。
-
从 tbl1 中删除 INNER JOIN tbl2 ON tbl2.terms_id = tbl1.terms_id WHERE tbl2.taxonomy = 'category' AND tbl1.post_id = 4001
-
你很亲密,换成
DELETE tbl1 FROM tbl1 INNER JOIN ....