python mysql 插入 float 精度

标签 python mysql mariadb

我在使用 Python 3.7.7、MariaDB V15.1、mysql python 包 0.0.2 将 float 插入 mysql 时遇到问题。

例如,我的表和Python代码的结构如下:

  `total` float(24,5) DEFAULT NULL,
  `data_id` int(11) NOT NULL,
import mysql.connector as mc

db = mc.connect(host, user, password, database..)
cur = db.cursor()
cur.execute("insert into mytable (data_id, total) values (4, 29147.17)")
db.commit()

结果,在数据库中,应该是29147.17的地方,却显示为29147.16992。而下次再从数据库中查询时,该值为29147.16992,缺少数据的准确性。

有什么建议我可以将原始数据保存到数据库中吗?谢谢。

最佳答案

请将您的mysql表字段修改为DECIMAL

`total` DECIMAL(24,5) DEFAULT NULL,   `data_id` int(11) NOT NULL

关于python mysql 插入 float 精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61243311/

相关文章:

javascript - AJAX 请求从聊天数据库获取最新的、唯一的消息

php - 投票限制

mysql - 如何使用 Dapper 将 BINARY(16) 映射到 GUID?

mysql - 仅在字段存在时加入

python - 无法根据列的索引删除数据框中的列

python - Celery 不排队到远程代理,而是将任务添加到本地主机

Python函数调用顺序

Python:如何编写看起来不错并且可以与 argparse 或 optparse 一起使用的代码?

php - 简单的 PHP MySQL 查询分组任务

mysql - MariaDB : convert string to int when importing from CSV, 同时删除数字中的空格