账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    SQL批量删除字符中间的动态内容
    74
    0

    post表,字段content中有如下内容:

    <a href="http://www.xx.com/" data-cfemail="sdfsdfsd7eoi7d61d2">[email protected]</a>
    <a href="http://www.xx.com/" data-cfemail="0d6a68797rdd7d61aa">[email protected]</a>
    <a href="http://www.xx.com/" data-cfemail="easdf797e4df6d1sdf">[email protected]</a>
    <a href="http://www.xx.com/" data-cfemail="0s6ad68797e4d7d6d9">[email protected]</a>

    要批量删除 data-cfemail="这里边的内容",我写了如下SQL:

    UPDATE post 
    SET content = REPLACE (
        content,
        substring(
            content,
            locate( 'data-cfemail="', content ) + CHAR_LENGTH( 'data-cfemail="' ),
            locate( '">[email protected]', content, CHAR_LENGTH( 'data-cfemail="' ) ) - (
                SELECT
                    locate( 'data-cfemail="', content ) + CHAR_LENGTH( 'data-cfemail="' )
                )
            ),
            ''
        )

    运行后可以删除第一条 data-cfemail="这里边的内容" ,再执行就一直是成功0条,请问为什么只匹配了一次呢?是一条数据里有多个匹配值。是SQL有问题还是本来就只能识别一次? 求解决。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 听潮落子 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部