某小说章节有600章左右,但是在79章之后的所有标题中的章节序号均发生错误,但是序号是对的,粗略的表结构如下
id 标题 序号
1280 第七十九章 标题 80
1281 第八十章 标题 81
...
也就是说需要把标题中序号都更正过来,稍微构思了一下, 是否可以用replace函数 做正则替换呢...但是查了资料,好像是不行的,于是就采用了下面的方法
update txt set title=concat('第',seq,(substring(title,instr(title,'章')) )) where bid=33 and seq>=80;
上述语句中, 用了3个mysql 的内置函数 分别是
instr(str,substr) 返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)
substring(str,pos) 返回字符串str的位置pos起的一个子串 concat(str1,str2,...)
把参数连成一个长字符串并返回(任何参数是null时返回null)
评论 (0)