字符串数字存到数据库中,前面到0 全被干掉了怎么解决?
有些这样到数据:1186486、0215648、00064876 , mysql 存放数据到列是 char 类型,
数据存进去 前面到 0 全都给干掉列这个怎么解决
短的前面都是0,数据在python 中是字符串而且前面到0 也没干掉
用数据库软件手动修改前面可以有0
这个我就纳闷了
多谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
mysql中char类型,不会自动去掉前导0
查一下日志中的sql语句吧,看是不是在应用层有数据处理。
你调的orm的方法,还是传的裸sql。前者看你的model定义的field类型,
Column(INTEGER(), nullable=True)
后者看你格式化符号
%s
有没有加引号INSET INTO ... VALUES('%s')
。从描述看,你生成sql时,数据的值是作为int传递的,所以应该是python端有地方错了。解决方案很简单啊
取出来加上 0 不就行了
后端处理 前端处理都可以
在插入 数据库 的时候 把 字符串数字 添加 引号 就表示字符串,mysql不会舍去