字符串数字存到数据库中,前面到0 全被干掉了怎么解决?

有些这样到数据:1186486、0215648、00064876 , mysql 存放数据到列是 char 类型,
数据存进去 前面到 0 全都给干掉列这个怎么解决
图片描述

图片描述

短的前面都是0,数据在python 中是字符串而且前面到0 也没干掉
用数据库软件手动修改前面可以有0

这个我就纳闷了

多谢 🙏

阅读 6k
3 个回答

mysql中char类型,不会自动去掉前导0

查一下日志中的sql语句吧,看是不是在应用层有数据处理。

你调的orm的方法,还是传的裸sql。前者看你的model定义的field类型,Column(INTEGER(), nullable=True)
后者看你格式化符号%s有没有加引号 INSET INTO ... VALUES('%s')。从描述看,你生成sql时,数据的值是作为int传递的,所以应该是python端有地方错了。

解决方案很简单啊
取出来加上 0 不就行了
后端处理 前端处理都可以
在插入 数据库 的时候 把 字符串数字 添加 引号 就表示字符串,mysql不会舍去

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏