首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL Decimal is not JSON serializable以及插入小数变成0

使用Python搭建的web服务,后台读取MySQL数据后,需要将数据序列化为json串,返回给前端。但是如果MySQL的字段是decimal类型,序列化为json串就会遇到麻烦。会报如下错误 raise TypeError(repr(o) + " is not JSON serializable") TypeError: Decimal('0') is not JSON serializable HTTP/1.0" 500 网上有一些解决方案,但是如果你对于数据精度的要求没那么高的话,完全可以把MySQL中的decimal字段的类型改为float,float类型是可以直接进行json序列化的。这样只修改数据库,不修改代码,就可以修复问题。参考下图。另外,设置float类型的时候,小数点后一定要设置,可以设置为4,表示带4位小数。否则默认可能是带0位小数,就不准确了。如果你insert的数据类似‘0.022’这种,在数据库中就变成0了。

02

MySQL数据库SQL脚本DDL(数据定义语言)数据表操作

今天的命令操作是基于某个数据库而言的,也就是说要先进入到某个数据库,使用命令use 数据库名称,例如 use ljydb; 1.创建数据表 Create table 表名(字段名 字段类型 约束类型) 按照以上格式创建数据表,注意一定要使用英文输入法下的符号,每个关键词后有一个空格。 举例创建用户表ljy_userinfo Create table ljy_userinfo ( userid int(11), username varchar(20), password varchar(20), Create_time datetime ) 以上代码创建了用户信息表ljy_userinfo,字段分别为用户编号,用户名称,密码,创建时间。 创建完成后使用show tables;查看数据库中的表 我们也可以使用命令desc table 表名称 来查看创建的数据表的列。

02
领券