mysql数据更新问题,隐式转换,bigint,字段长度,大坑
参数:{"checkFlag":"2","htyy":"只能退回浩发公户","id":"1283815443262361600","shrr":"LIYANYI"}使用navicat连接数据库,在数据表中进行筛选id= 1283815443262361600的数据,未查询到,但是发现id有等于1283815443262的数据,突然发现id的字段类型为bigint(11),1283815443262
起因:生成系统推送的数据,更新失败了,
参数:{"checkFlag":"2","htyy":"只能退回浩发公户","id":"1283815443262361600","shrr":"LIYANYI"}
查看代码,很简单的更新sql,根据id更新
使用navicat连接数据库,在数据表中进行筛选id= 1283815443262361600的数据,未查询到,但是发现id有等于1283815443262的数据,
突然发现id的字段类型为bigint(11),1283815443262361600显然是超长了,11位只是设置显示宽度,并不影响实际值存储,在mysql5.6中会显示13位
执行查看id的长度实际是19位
SELECT ID, LENGTH(CAST(ID AS CHAR)) AS id_length
FROM m_till_refund
WHERE ID = 1283815443262361600;
所以更改bigint类型的长度为30位在navicat中即可查询到1283815443262361600
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)