You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL字符串截取更新错误修复:移除指定前缀并清理标签

解决database_messages表字符串处理问题

先做测试验证(避免再次误清空字段)

先执行查询语句确认处理结果是否符合预期,没问题再执行更新:

SELECT 
  body,
  -- 移除`][img]`之前的前缀,无匹配则保留原内容
  CASE 
    WHEN LOCATE('][img]', body) > 0 THEN SUBSTRING(body, LOCATE('][img]', body) + 6)
    ELSE body
  END AS step1_result,
  -- 再替换多余的`[/url]`标签
  REPLACE(
    CASE 
      WHEN LOCATE('][img]', body) > 0 THEN SUBSTRING(body, LOCATE('][img]', body) + 6)
      ELSE body
    END, '[/img][/url]', '[/img]'
  ) AS final_result
FROM database_messages
WHERE id_board = 128;

执行正式更新

确认测试结果无误后,运行更新语句:

UPDATE database_messages
SET body = REPLACE(
    CASE 
      WHEN LOCATE('][img]', body) > 0 THEN SUBSTRING(body, LOCATE('][img]', body) + 6)
      ELSE body
    END, '[/img][/url]', '[/img]'
  )
WHERE id_board = 128;

关键注意点

  • 用LOCATE判断是否存在目标字符串,避免因无匹配导致SUBSTRING返回空值(这大概率是你之前字段被清空的原因)。
  • +6是因为][img]的长度为6,确保从该字符串的下一位开始截取内容。
  • 先处理前缀移除,再做标签替换,保证逻辑顺序正确。

内容的提问来源于stack exchange,提问作者Mick Javes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:42:02