【问题标题】:%d format a number is required not str%d 格式一个数字是必需的而不是 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 查看我的代码

标签: python mysql sql sql-delete


【解决方案1】:
data3=int(raw_input("Enter the idno to del :",))

cursor.execute("DELETE FROM tablename where idno=%s", [data3])

经过多次尝试,我得到了对我有用的答案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 2015-07-22
    • 2020-09-24
    • 2015-02-04
    • 2015-12-20
    • 1970-01-01
    • 2015-01-31
    相关资源
    最近更新 更多