gpt4 book ai didi

Python MySQLdb 问题(TypeError : %d format: a number is required, 不是 str)

转载 作者:IT老高 更新时间:2023-10-28 20:21:24 28 4
gpt4 key购买 nike

我正在尝试执行以下插入操作:

cursor.execute("""
insert into tree (id,parent_id,level,description,code,start,end)
values (%d,%d,%d,%s,%s,%f,%f)
""", (1,1,1,'abc','def',1,1)
)

我的MYSQL表的结构是:

id int(255),
parent_id int(255),
level int(11),
description varchar(255),
code varchar(255),
start decimal(25,4),
end decimal(25,4)

但是当我运行我的程序时,我得到了错误

" File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 151, in execute query = query % db.literal(args)

TypeError: %d format: a number is required, not str"

最佳答案

格式字符串并不是真正的普通 Python 格式字符串。您必须始终对所有字段使用 %s

请参阅 official document :

If args is a list or tuple, %s can be used as a placeholder in the query. If args is a dict, %(name)s can be used as a placeholder in the query.

-> 即:这里 %sNOT formatter,但 是占位符

关于Python MySQLdb 问题(TypeError : %d format: a number is required, 不是 str),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785154/

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