【问题标题】:MySQL not storing floating point numbersMySQL不存储浮点数
【发布时间】:2019-12-01 07:15:08
【问题描述】:

我正在尝试通过 python 在 MySQL 数据库中存储一个浮点数,但它会将其四舍五入为整数。

我已经尝试了具有适当值的 DECIMAL、FLOAT 和 DOUBLE 数据类型,但没有奏效

def insert_row(id, today_date, year, month_number, month_name, day, day_name, mood):
  cursor.execute("CREATE TABLE IF NOT EXISTS " + str(id) + " (date DATE PRIMARY KEY, year YEAR, month_number INTEGER(2), month_name VARCHAR(10), day INTEGER(2), day_name VARCHAR(10), mood DECIMAL(4,3))")

  cursor.execute("INSERT INTO " + str(id) + " (date, year, month_number, month_name, day, day_name, mood) VALUES('" + today_date + "', '" + year + "', " + str(month_number) + ", '" + month_name + "', " + str(day) + ", '" + day_name + "', 0.5) ON DUPLICATE KEY UPDATE mood=0.5")
  mydb.commit()

所以我希望情绪列的值为 0.5,但实际值始终为 1

【问题讨论】:

  • 您是否检查过您在表中实际创建的列类型?

标签: python mysql


【解决方案1】:

转换为'查询' + float(0.5) + '查询的其余部分'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    相关资源
    最近更新 更多