MySQL执行更新语句报错-Truncated incorrect DOUBLE value

问题的由来

       项目开发中需要对MySQL数据库中某张保存token信息的表进行失效操作,按照设计token的有效时长为1个小时。开发中我设置的的定时器任务每十分钟执行一次,具体执行的任务为除了更新表中某个标识是否有效的字段外,还对token这个列执行失效操作,即是执行更新语句时,让某条数据的某一列在原来的基础上做相应的更新,并且使用加号来进行连接,sql语句为:update ai_interface_token a set a.status = 0,a.access_token = a.access_token+'key',a.invalid_time = ? where a.access_token in (?); SQL语句写好后使用测试数据一执行,马上报错,错误信息为:Truncated incorrect DOUBLE value;

 

问题分析

      不懂这个错误是什么意思,马上使用百度翻译,翻译为中文为:截断错误的双精度值.还是不懂,可能有些东西直译过来不好理解,然后去百度,找到一篇好的文章,解决了这个问题。导致这个问题的原因是执行更新操作时,更新某条数据的某一列时,让这一列在原来的基础上进行更新操作,比如某一列原来保存的值为abc,现在想更新为abckey,不能使用加号连接符,需要使用concat连接符才可以。

 

解决方案

      根据作者的提供的解决方案,马上修改sql语句为:update ai_interface_token a set a.status = 0,a.access_token = concat(a.access_token,'key'),a.invalid_time = ? where a.access_token in (?);问题圆满解决!现在贴上那篇文章的地址

https://www.2cto.com/database/201210/159369.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值