首页 > 解决方案 > python和mysql在表中插入值

问题描述

class AddTool:
    #def __init__(self):
        #super(AddTool,self).getUsername_password()

    def add(self):
        name=input('\nenter tool name: ')
        compatibility=input('enter the compatibility: ')
        per_day=input('enter rate per day: ')
        per_half_day=input('enter rate per half day: ')
        availability=input('how many available: ')
        try:
            database=mysql.connector.connect(
                    host='localhost',
                    user='root',
                    password='jubeen123',
                    database='Jubeen'
                    )
            cursor=database.cursor()
            command=cursor.execute('insert into Tool (Name,Compatibility,Rate_Per_Day,Rate_Per_Half_Day,Availability) values ("%s","%s",%d,%d,%d)',(name,compatibility,int(per_day),int(per_half_day),int(availability)))
            results=cursor.fetchall()
            for i in results:
                print(i)
        except Exception as e:
            print(e)

我收到错误

Not all parameters were used in the SQL statement

标签: pythonmysql

解决方案


正如我所知,在所有数据库的所有模块中,您仅%s(最终?)使用来显示值的位置——即使您使用整数、浮点数或其他对象。

所以你必须使用%s而不是%d


顺便说一句:MySQL 和 Python的文档仅显示%s%(name)s


推荐阅读