搜索和替换MySQL:没有替换任何内容


Search and Replace MySQL: nothing was replaced

我有一张这样的表,叫做v3_product_description

+------------+-------------+-------------+--------------------------------------------------------------------+----------+--------------------------------------------------------------------+--------------------+------------+--+
| product_id | language_id |    name     |                            description                             |   tag    |                          meta_description                          |   meta_keywords    | meta_title |  |
+------------+-------------+-------------+--------------------------------------------------------------------+----------+--------------------------------------------------------------------+--------------------+------------+--+
|          1 |           2 | Test        | descrition about product. Altijd op voorraad. further description. | tag      | descrition about product. Altijd op voorraad. further description. | keywords           | title      |  |
|          2 |           1 | test        | Beschrijving over het product                                      | tagsss   | metabeschrijving Altijd op voorraad                                | keywords,and so on | title      |  |
|          3 |           2 | Tessdslfkjq | product description                                                | moretags | metadescription Altijd op voorraad                                 | keywords,bullshit  | titlestuff |  |
+------------+-------------+-------------+--------------------------------------------------------------------+----------+--------------------------------------------------------------------+--------------------+------------+--+

正如你们所看到的,短语Altijd op voorraad在我的表中非常常见(我在真实数据库中有超过 8000 行(。

翻译成德语的Altijd op voorraadImmer auf Lager,德语的language_id2

我正在尝试在我的表格中搜索和替换该短语,所以我提出了这个查询:

SELECT product_id, language_id, name, description, tag, meta_title, meta_description, meta_keyword,
       REPLACE(meta_description,'Altijd op voorraad','Immer auf Lager')
FROM v3_product_description
WHERE language_id = 2

此查询应将列meta_description中的每个Altijd op voorraad更改为 Immer auf Lager 。但是一旦执行,当我查看网上商店中的项目时,它似乎不会这样做。

我做错了什么?以及如何在第 description 列应用相同的搜索/替换?我应该使用第二个查询来执行此操作,还是可以将这两个查询组合在一起?

您正在尝试更新列值,但使用的是选择查询。

替换meta_description列中的字符串的正确方法是

UPDATE v3_product_description
SET meta_description= REPLACE (meta_description,'Altijd op voorraad','Immer auf Lager')
WHERE language_id = 2

希望这有帮助。干杯!