鍍金池/ 問答/Python  數(shù)據(jù)庫/ 字符串?dāng)?shù)字存到數(shù)據(jù)庫中,前面到0 全被干掉了怎么解決?

字符串?dāng)?shù)字存到數(shù)據(jù)庫中,前面到0 全被干掉了怎么解決?

有些這樣到數(shù)據(jù):1186486、0215648、00064876 , mysql 存放數(shù)據(jù)到列是 char 類型,
數(shù)據(jù)存進(jìn)去 前面到 0 全都給干掉列這個(gè)怎么解決
圖片描述

圖片描述

短的前面都是0,數(shù)據(jù)在python 中是字符串而且前面到0 也沒干掉
用數(shù)據(jù)庫軟件手動(dòng)修改前面可以有0

這個(gè)我就納悶了

多謝

回答
編輯回答
護(hù)她命

mysql中char類型,不會(huì)自動(dòng)去掉前導(dǎo)0

查一下日志中的sql語句吧,看是不是在應(yīng)用層有數(shù)據(jù)處理。

2017年2月25日 23:39
編輯回答
執(zhí)念

你調(diào)的orm的方法,還是傳的裸sql。前者看你的model定義的field類型,Column(INTEGER(), nullable=True)
后者看你格式化符號(hào)%s有沒有加引號(hào) INSET INTO ... VALUES('%s')。從描述看,你生成sql時(shí),數(shù)據(jù)的值是作為int傳遞的,所以應(yīng)該是python端有地方錯(cuò)了。

2017年4月19日 02:17
編輯回答
乞許

解決方案很簡單啊
取出來加上 0 不就行了
后端處理 前端處理都可以
在插入 數(shù)據(jù)庫 的時(shí)候 把 字符串?dāng)?shù)字 添加 引號(hào) 就表示字符串,mysql不會(huì)舍去

2018年4月14日 22:43