%d 格式一个数字是必需的而不是 str
Posted
技术标签:
【中文标题】%d 格式一个数字是必需的而不是 str【英文标题】:%d format a number is required not str 【发布时间】:2017-09-20 23:00:43 【问题描述】:我有一个名为 tablename 的表,其中 idno 作为主要 kry。如果用户在表中指定 idno,我希望删除该行。 这是我的代码:
data3=raw_input("Enter the idno to del :",)
mydata=cursor.execute("DELETE FROM tablename where idno=%d", data3)
db.commit()
我收到此错误:
Traceback(最近一次调用最后一次):文件“C:\Python27\trertr.py”, 第 50 行,在 mydata=cursor.execute("DELETE FROM tablename where idno=%d", data3) 文件 "C:\Python27\lib\site-packages\mysqldb\cursors.py", 行 187,执行中 query = query % tuple([db.literal(item) for item in args]) TypeError: %d format: a number is required, not str
【问题讨论】:
到目前为止你做了什么? 将这些用户输入值插入到表中。给出了删除命令,例如从 sex = F 的表中删除。它可以工作,但我不知道如何使用主键删除整行 我想知道如何使用主键获取一行,如果idno为102则删除该行,如果idno为101则更新名称为abc 我还没有发布原始输入、删除命令和所有代码的代码,因为这只是我程序的一部分。我的其余代码运行良好 @AzatIbrakov 查看我的代码 【参考方案1】:data3=int(raw_input("Enter the idno to del :",))
cursor.execute("DELETE FROM tablename where idno=%s", [data3])
经过多次尝试,我得到了对我有用的答案
【讨论】:
以上是关于%d 格式一个数字是必需的而不是 str的主要内容,如果未能解决你的问题,请参考以下文章
需要 %d 格式,而不是 tkinter python 到 mysql 数据库中的 str 错误