2015-12-15 56 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