在SQL查询替换中区分标记和类别名称

时间:2013-09-23 08:28:55

标签: sql wordpress

我在SQL中使用此命令将TAG名称替换为另一种语言。标签名称从“模式”更改为“主题”:

UPDATE wp_terms
SET name =
REPLACE(
name,
'pattern',
'motif')
WHERE term_group LIKE '0'

但我也有一个名为“pattern”的类别名称,我不想将其重命名为“motif”。上面的命令将重命名标记以及类别名称。如何确定查询只重命名标签,而不是类别?据我所知,标签和类别都位于wp_terms。

在phpMyadmin中,wp_terms只有列:term_id,name,slug,term_group。 但是,我确实看到有一种方法可以实现它。标签的“名称”与“slug”列具有相同的值。

有没有办法将SQL查询修改为:

UPDATE wp_terms
    SET name =
    REPLACE(
    name,
    'pattern',
    'motif')
    WHERE 'slug' IS THE SAME AS 'name' COLUMN

我不确定如何正确修改我的SQL查询。

1 个答案:

答案 0 :(得分:0)

添加另一个条件:

UPDATE
      WP_TERMS
SET
      NAME      =
          REPLACE ( NAME,
                  'pattern',
                  'motif' )
WHERE
      TERM_GROUP LIKE '0'
      AND NAME = SLUG;