mySQL 删除在不同列上有两个条件的查询
mySQL delete query with two condition on separate columns
我正在使用此查询 select 来自 wp_postmeta table
的特定行
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
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')
它returns一个错误说
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pm LEFT JOIN fddb_wp_posts wp ON wp.ID = pm.meta_value WHERE (wp.ID IS NULL) AND' at line 2
关于如何让它发挥作用有什么建议吗?
如果您有一个包含多个 table 的删除语句,您需要命名要从中删除的 table。在 delete
关键字
之后立即执行此操作
DELETE pm
FROM fddb_wp_postmeta pm ...
DELETE
FROM fddb_wp_postmeta where
meta_value not in (select wp.ID from fddb_wp_posts wp)
and meta_key = '_wpcf_belongs_books_id'
我正在使用此查询 select 来自 wp_postmeta table
的特定行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
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')
它returns一个错误说
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pm LEFT JOIN fddb_wp_posts wp ON wp.ID = pm.meta_value WHERE (wp.ID IS NULL) AND' at line 2
关于如何让它发挥作用有什么建议吗?
如果您有一个包含多个 table 的删除语句,您需要命名要从中删除的 table。在 delete
关键字
DELETE pm
FROM fddb_wp_postmeta pm ...
DELETE
FROM fddb_wp_postmeta where
meta_value not in (select wp.ID from fddb_wp_posts wp)
and meta_key = '_wpcf_belongs_books_id'