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

截取SQL字段子串更新条目触发MariaDB 1064语法错误如何解决

MariaDB SQL语句修正方案

错误原因

  • 需求是修改已存在的id=1的行数据,应该使用UPDATE更新语句而非INSERT插入语句,INSERT仅用于新增数据行
  • 原SQL混用了SELECT和VALUES关键字,不符合MariaDB语法规范

正确执行语句

UPDATE crm_logs2
SET status_from = TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(action, 'from', -1), 'to', 1))
WHERE id = 1;

逻辑说明

  • 保留你原本的子串截取逻辑:先从action字段中截取from之后的所有内容,再从截取结果中取to之前的内容,最终得到目标子串
  • 额外增加TRIM()函数去除截取结果前后的空白字符,避免from、to前后的空格被误提取
  • 通过WHERE id = 1限定仅修改目标条目,不会影响其他行数据

验证提示

你可以先执行如下查询语句确认截取结果是否符合预期,确认无误后再执行更新操作,避免误改数据:

SELECT TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(action, 'from', -1), 'to', 1)) AS expected_status_from
FROM crm_logs2
WHERE id = 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:27:03