我有一个名为“变体”的自定义字段,里面有颜色(逗号分隔),如“黑色、红色、蓝色”。 我需要每天通过 cron 作业将颜色替换为另一种语言。对于一种单一的颜色变化,这可以将黑色变为黑色:
UPDATE `wp_postmeta`
SET `meta_value` = replace(meta_value, 'Black', 'Noir')
WHERE `meta_key` LIKE 'variations'
一切都很好,但我想在同一个查询中替换不止一种颜色。我不希望有 20 个相似的查询来涵盖所有 20 种可能的颜色变化。
这样的事情可能吗?
UPDATE `wp_postmeta`
SET `meta_value` = replace(meta_value, 'Black', 'Noir'), (meta_value, 'Green', 'Vert')
WHERE `meta_key` LIKE 'variations'
我没有测试系统,我不想弄乱我的数据库。
最佳答案
你可以很容易地做到这一点,使用你最后一次返回的 REPLACE 到一个新的 REPLACE
UPDATE `wp_postmeta`
SET `meta_value` = REPLACE(
REPLACE(
REPLACE( meta_value,
'Black',
'Noir'
),
'Geen',
'Vert'),
'Blue',
'Blu')
WHERE `meta_key` LIKE 'variations'
关于mysql - 替换 SQL 数据库中同一自定义字段中的多个字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15173098/