Limit left join

时间:2020-06-25 作者:Mohamed Omar

我试图使用left join删除帖子类型的帖子,但出现以下错误:

您的SQL语法有错误;查看与MySQL服务器版本相对应的手册,以了解“LIMIT 1”附近要使用的正确语法

代码:

global $wpdb;
$result = $wpdb->query( 
    $wpdb->prepare("DELETE posts,pt,pm
        FROM wp_posts posts
        LEFT JOIN wp_term_relationships pt ON ( pt.object_id = posts.ID AND pt.term_taxonomy_id = %d)
        LEFT JOIN wp_postmeta pm ON pm.post_id = posts.ID
        WHERE posts.post_type = %s
        LIMIT %d
        ",
        456,
        \'listing\',
        1
    ) 
);

1 个回复
SO网友:Michael Cropper

不能将LIMIT直接用于DELETE查询,它的语法无效。我建议您先在MySQL Workbench之类的工具中运行查询,以确保语法正确,然后再将其迁移到WordPress代码中。

相关推荐

$wpdb->上次选择选项的插入不起作用

在阅读了类似问题的帖子后$wpdb->insert 我找不到解决我问题的正确方法。我有一个模板页面,在该页面中,我将数据发送(通过POST)到另一个模板页面,以向wordpress数据库中的自定义表添加行。其中一个值来自select,除非它不是select的最后一个选项,否则将接收并处理该值。太奇怪了,我启用了wpdb->show_Errors() 选择最后一个选项时,将显示:WordPress database error: [] SHOW FULL COLUMNS FROM `pagos`