MYSQL不支持正则替换。mysql的正则匹配用regexp,而替换字符串用REPLACE(str,from_str,to_str)。建议在程序中进行正则替换处理,然后update。
如果硬是要用sql语句,可以使用下面类型的sql:
UPDATE myTable SET HTML=REPLACE(HTML,'<br>','') WHERE HTML REGEXP '(<br */*>\s*){2,}'
可是这么写会把所有<br>全部替换掉,因此干脆把REPLACE(HTML,'<br>','')改成REPLACE(HTML,substr(HTML,locate('<br><br>',HTML)+strlen('<br>'),strlen('<br>')),'')
这还不够,还得手动写多个'<br><br>'、'<br><br/><br/><br><br><br/>',还不够,还得循环数次这些命令。。。