為什麼執行一個mysql語句,用replace函數替換字符,但是返回的結果為0?這條sql語句是這樣寫的:
代碼如下 復制代碼UPDATE v9_news_data set content=REPLACE(`content`,'<p>[NextPage]</p>','[page]')
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函數判斷是否存在這個字符串,也有必要加上以免出錯。