gpt4 book ai didi

Python MySQL 连接器, "wrong number of arg.."

转载 作者:行者123 更新时间:2023-11-29 01:59:36 24 4
gpt4 key购买 nike

有人可以帮忙给我提示吗?我正在使用 Python 2.7 和 MySQL 连接器 1.0.12。

以下带有 %f 的 job_insert 引发错误“mysql.connector.errors.ProgrammingError:字符串格式化期间参数数量错误”。

job = {'customer': u'Acme', 'period': 3.0, 'cost': 987654.543210123}
job_insert = "INSERT INTO f.job (customer, period, cost) VALUES (%(customer)s, %(period)f, %(cost)f);"

cursor.execute(job_insert, job)

当我改用 %s 时,mysql.connector 会插入值。但是, float 会被小数点后几位修剪,例如3.0 到 3 和 987654.543210123 到 987654.5。两个数据库列都是 float 的。

job_insert = "INSERT INTO f.job (customer, period, cost) VALUES (%(customer)s, %(period)s, %(cost)s);"

感谢您的宝贵时间。

最佳答案

我强烈推荐使用 string format .

我不太确定你的 mysql 表中的列数据类型,通常如果它是 varchcar 类型,我会在它们周围加上单引号和数字而不用单引号。

job_insert = "INSERT INTO f.job (customer, period, cost) VALUES ('{0}', {1}, {2});".format(job['customer'], job['period'], job['cost'])
cursor.execute(job_insert)
cursor.execute('commit')

假设您的客户列是 varchar 并且期间和成本是数字(int、float..?)

关于Python MySQL 连接器, "wrong number of arg..",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18668774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com