2015-12-15 59 views
0

我有一个这样的表v3_product_description搜索和替换MySQL:没有被替换

+------------+-------------+-------------+--------------------------------------------------------------------+----------+--------------------------------------------------------------------+--------------------+------------+--+ 
| 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 voorraad德语翻译为Immer 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 voorraadImmer auf Lager。但是一旦执行,当我在我的网上商店查看这些物品时,似乎没有这样做。

我在做什么错?以及如何应用相同的搜索/替换列description?我应该使用第二个查询来做到这一点,还是可以将这2个结合起来?

+0

一个猜测是“特殊”字符。换句话说,也许元音有口音。 –

+0

正如你在我给出的例子中看到的那样,这些句子中没有特殊字符,在替换函数中也没有特殊字符。 – Baklap4

+1

您只是在读取列数据中进行替换。您需要执行UPDATE更改实际的表数据。 – jarlh

回答

2

您正尝试更新列值,但正在使用select查询。

取代您在meta_description列字符串将

UPDATE v3_product_description 

SET meta_description= REPLACE (meta_description,'Altijd op voorraad','Immer auf Lager') 

WHERE language_id = 2 

希望这有助于正确的方法。 干杯!

+0

谢谢你的回答!我忘了实际更新价值..哇蓝色星期二,而不是蓝色星期一。我现在真的觉得很蠢 – Baklap4

+1

@ Baklap4碰巧是我们最好的。如果它解决了您的问题,请随时将答案标记为已接受。干杯 – bIgBoY

+1

当我能够标记它解决了! – Baklap4