【问题标题】:SQL (via phpMyAdmin)SQL(通过 phpMyAdmin)
【发布时间】:2017-10-27 17:33:09
【问题描述】:

我想在 WordPress 帖子表中进行搜索和替换,但取决于帖子的类型 这就是我所拥有的,并且 SELECTing 有效,但我不确定是否将 'old title' 替换为 'new prefix old title'

UPDATE `wp_posts` 
WHERE `post_title` REGEXP '^old title' 
  AND `post_type` = 'download' 
set 'post_title' = replace( 'post_title', 'old title', 'new prefix old title');

【问题讨论】:

    标签: mysql sql wordpress sql-update


    【解决方案1】:

    set 子句应位于 where 子句之前。此外,post_title 是列名,而不是字符串文字,因此您不应使用单引号 ('):

    UPDATE `wp_posts`
    SET    `post_title` = REPLACE(`post_title`, 'old title', 'new prefix old title')
    WHERE  `post_title` REGEXP '^old title' AND `post_type` = 'download'
    

    【讨论】:

    • 非常感谢@Mureinik 的协助,它按要求工作。 (我会早点回复,但没有收到您快速回复的通知。)我留下的一个问题是,您在区分 ' 和 ` ? (当引用列名等表引用时,撇号 [单引号] ' vs 重音 `?)
    • @BrianMilnes 是的 - 引号 (') 表示字符串文字。重音符 (`) 可用于转义对象名称,如列和表
    猜你喜欢
    • 2010-10-08
    • 2017-03-26
    • 1970-01-01
    • 2011-07-11
    • 2019-03-06
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多