update sys_user set login_name='XXX' where phonenumber=13812345678
报错信息: Truncated incorrect DOUBLE value: 'admin'
搜了这个报错信息后, 看到别人的报错原因基本是在JDBC的写法问题. 我没通过JDBC写啊, 不存在这个问题.
试了将空格删除重写, 无效还是报这样的错. 无解了. 从前到后看, set 后面不可能有问题,只设置了一个值,再往后看where 后面有问题? phonenumber 是varchar类型 , 难道是? 于是修改如下, 成功了 .O__O "…
update sys_user set login_name='XXX' where phonenumber='13812345678'
记住了! select查询时不带''可以查询成功不报错, 但update时不行了, 是个坑!!
总结:出现此异常可能的原因
1.JDBC时字符串拼接,时""里面也要写''
2.set后面,不能写and 只能set aa=xxx,bb=xxxx
3.注意字段类型, varchar一定要带''