update报错[Err] 1292 - Truncated incorrect DOUBLE value: ‘1111111fff‘

关于mysql的update语句报错1292

在我们执行mysql的update语句的时候,突然会蹦出来[Err] 1292 - Truncated incorrect DOUBLE value: '1111111fff’的报错,网上各种解惑,但是哪种是真正适合自己的解决办法?仔细查看表结构!

在我们执行update语句之前,我们常规操作就是先select一下,看是否会成功。但是在们执行select语句还是成功的时,update语句依旧会报错[Err] 1292 - Truncated incorrect DOUBLE value: ‘1111111fff’
这种报错是因为mysql列的类型错误引起的(个人出现),因为要更新的字段为varchar类型,而我的update语句使用的int型,所以才会出现问题1292
select * from player where sid = 12345(sid 为varchar类型)可执行
update player set 某字段 = *** where sid = 12345,就会报错1292

这是因为mysql的查询为弱类型的,即sid为varchar类型,但是通过int型仍可以查询,也一样可以查询出结果
但是,update语句为强类型,即所使用的条件必须是一一对应的才可以执行,所以sid=‘12345’才可以执行。

此外,我们设置column的类型为int型,但是default值依然可以为‘0’一个varchar或char类型的,并不会引起冲突

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值