为什么执行一个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函数判断是否存在这个字符串,也有必要加上以免出错。
时间: 2024-12-31 08:45:55