这个问题已经有了答案:
Deleting rows with MySQL LEFT JOIN
5个答案
我使用此查询从wp_postmeta表中选择特定行

SELECT *
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.meta_value
WHERE (wp.ID IS NULL) AND (pm.meta_key = '_wpcf_belongs_books_id')

很好,但是当我尝试删除
DELETE
FROM wp_postmeta pm
LEFT JOIN fddb_wp_posts wp ON wp.ID = pm.meta_value
WHERE (wp.ID IS NULL) AND (pm.meta_key = '_wpcf_belongs_books_id')

它返回一个错误
#1064-您的SQL语法有错误;请检查与MySQL服务器版本相对应的手册,以获取在“pm left join fddb_wp_posts wp on wp.id=pm.meta_value where(wp.id为空)”和“at line 2”附近使用的右语法
有什么建议让它起作用吗?

最佳答案

如果delete语句包含多个表,则需要命名要从中删除的表。在delete关键字之后执行此操作

DELETE pm
FROM fddb_wp_postmeta pm ...

关于mysql - mySQL删除查询,在单独的列上有两个条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42484867/

10-13 04:43