Mysql 正在尝试删除重复的帖子,但出现数据库错误

Mysql 正在尝试删除重复的帖子,但出现数据库错误,mysql,sql,wordpress,Mysql,Sql,Wordpress,我正在尝试使用以下代码使用sql从我的wordpress站点删除与“source\u link”元键具有相同值的帖子。不过,每当我运行这段代码时,它都不会删除重复的代码,而是会在我的站点上出现数据库错误。有没有人看到这段代码有什么错误,或者知道我为什么会出现数据库错误 $wpdb->query("DELETE p, pm1 FROM $wpdb->posts as p, $wpdb->postmeta as pm1, $wpdb->postm

我正在尝试使用以下代码使用sql从我的wordpress站点删除与“source\u link”元键具有相同值的帖子。不过,每当我运行这段代码时,它都不会删除重复的代码,而是会在我的站点上出现数据库错误。有没有人看到这段代码有什么错误,或者知道我为什么会出现数据库错误

$wpdb->query("DELETE p, pm1
FROM 
    $wpdb->posts as p, 
    $wpdb->postmeta as pm1, 
    $wpdb->postmeta as pm2 
WHERE 
    p.ID = pm1.post_id
    AND pm1.post_id > pm2.post_id 
    AND pm1.meta_key = 'source_link' 
    AND pm1.meta_key = pm2.meta_key 
    AND pm1.meta_value = pm2.meta_value");

您遇到了什么数据库错误

我认为您的问题可能在于如何在语句中引用多个表。
我刚刚在堆栈溢出上发现它需要使用JOIN语句。

我的站点不再加载,而是出现了一个大的胖数据库错误。我会尝试做那样的事情。虽然我不是sql专家,但是您知道如何在这里使用join语句吗?在这里使用join语句可能很困难,因为虽然P和PM1表是使用=符号链接的,但PM1和pm2是使用>符号链接的。尝试以下操作:
DELETE p,pm1 FROM$wpdb->posts as p JOIN$wpdb->posttea as pm1 ON p.ID=pm1.post\u ID JOIN$wpdb->posttea as pm2 ON pm1.post\u ID>pm2.post\u ID WHERE AND pm1.meta\u key='source\u link'和pm1.meta\u key=pm2.meta\u key和pm1.meta\u value=pm2.meta\u value