需要 %d 格式,而不是 tkinter python 到 mysql 数据库中的 str 错误

Posted

技术标签:

【中文标题】需要 %d 格式,而不是 tkinter python 到 mysql 数据库中的 str 错误【英文标题】:%d format is required not str error in tkinter python to mysql database 【发布时间】:2021-01-27 14:13:12 【问题描述】:

我的条目小部件

 e2 = Entry(f, width=20)
        e2.place(x=280,y=120)

我把它改成了int类型

 def add_data():
    roll=int(e2.get())

我将数据插入 mysql 的查询

 cursor.execute('insert into first_year( name,roll_number,phone_no, MATH,English,science) values(%s,%d,%s,%s,%s,%s)',(name, roll, phone_no, math, Eng, sci))

错误

%d format: a number is required, not str

【问题讨论】:

您的add_data 不会返回或更改任何内容。您可能想了解更多关于 variable scope 的信息。 我的查询和 roll=int(e2.get()) 在同一个函数中 只需将 %d 更改为 %s 【参考方案1】:

只需将 %d 更改为 %s(即使是数字),因为占位符不是常规 Python,因为您可以红色 here

cursor.execute('''insert into first_year( name,roll_number,phone_no,
                MATH,English,science) values(%s,%s,%s,%s,%s,%s)''',
                (name, roll, phone_no, math, Eng, sci))

【讨论】:

不会让用户也输入字符串等等让我试试

以上是关于需要 %d 格式,而不是 tkinter python 到 mysql 数据库中的 str 错误的主要内容,如果未能解决你的问题,请参考以下文章