2012-10-30 55 views
1

我想用我的管理員在我的sql數據庫中運行查找和替換查詢。問題是,在這我想查找和替換文本一些「字符,這會導致問題,當我運行命令用於查找和替換的SQL查詢不起作用

我要搜索align="right">align="left">

更換我並運行此命令,但它不工作:

UPDATE `ps_product_lang` SET `description` = replace(`description`,"align="right">","align="left">"); 

所以我想知道這個查詢應該什麼樣子,因爲有「字?如何搜索更長的文本並使用sql查詢替換它?

千恩萬謝

回答

3

替換字符串應該是單引號的字符串常量:

UPDATE `ps_product_lang` SET `description` = replace(`description`, 'align="right">', 'align="left">'); 

注意如果您確信您的description列中的所有字符串正是這種解決方案是唯一有用的align="right">。例如,除了上面的雙引號屬性之外,您還需要做額外的工作,例如,您有一些單引號屬性,如align='right'>

另外,如果這是HTML標記,您正在執行替換,則關閉>完全可能不會發生在align屬性之後。在這種情況下,您確實需要將每行加載到HTML解析器中以更改屬性。

+0

您的代碼工作完美。我也使用單引號運行它,並看到一些產品使用此查詢進行了修改。非常感謝你。 – user1786439

+1

@ user1786439樂於助人。如果答案足夠,請點擊旁邊的標記將其標記爲已接受。歡迎來到Stack Overflow。 –