在mysql中替換字符我們使用update與repalce進行操作了,但今天測試發現repalce返回結果為0了,下面我們一起來看問題排名辦法,為什么執行一個mysql語句,用replace函數替換字符,但是返回的結果為0?這條sql語句是這樣寫的:
- UPDATE v9_news_data set content=REPLACE(`content`,'<p>[NextPage]</p>','[page]') --Vevb.com
- and pagin=2 where INSTR(`content`,'<p>[NextPage]</p>') > 0;
結果執行完后,想要的替換效果沒有實現,得到結果為0,這是怎么回事,后來恢復數據庫,去掉and pagin=2這句再試就ok了,難道REPLACE函數在update語句中不能同時updata多個字段嗎?那就只好分布進行了.
mysql REPALCE函數正確寫法是:
- UPDATE v9_news_data set content=REPLACE(`content`,'<p>[NextPage]</p>','[page]') where INSTR(`content`,'<p>[NextPage]</p>') > 0;
一次最好只REPLACE一個字段,不知道是不是update的原因,或者是content這個字段字符太長了,代碼如下:
INSTR(`content`,'<p>[NextPage]</p>') > 0
后面這句話instr函數判斷是否存在這個字符串,也有必要加上以免出錯.
新聞熱點
疑難解答