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

MariaDB执行UPDATE语句报错:Truncated incorrect DOUBLE value

问题原因与解决方法

报错原因

MariaDB里的+是算术加法运算符,不是字符串拼接符。当你执行'2022-10-14' + lastvisited时,数据库会尝试把两个操作数转成数值类型(DOUBLE)做计算,但'2022-10-14'包含非数字的-符号,无法正常转换为数值,因此触发了Truncated incorrect DOUBLE value错误。

正确写法

如果要把日期字符串拼接到lastvisited字段的前面,用MariaDB的字符串拼接函数CONCAT()即可:

UPDATE communities SET lastvisited = CONCAT('2022-10-14', lastvisited) WHERE id = 26;

要是需要在两个字符串之间加分隔符(比如逗号、空格),可以在CONCAT()里额外加分隔符参数:

UPDATE communities SET lastvisited = CONCAT('2022-10-14', ', ', lastvisited) WHERE id = 26;

额外建议

用varchar(255)存储日期列表的设计不够规范,后续查询、维护都会有麻烦。更合理的方案是:

  • 改用JSON类型存储日期数组,方便直接操作单个日期元素
  • 新建关联表(比如community_visits),每条记录存一个访问日期和对应的社区ID,符合数据库范式设计

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 20:45:39