Python - MySQLdb - 数据未插入 table

Python - MySQLdb - data not inserted into table

我正在尝试使用 MySQLdb 将数据输入 MySQL table,但它没有将数据插入 table。 我的代码是:

      try:
            db = MySQLdb.Connect("127.0.0.1","root","root","bank")
            cursor = db.cursor()
            cursor.execute("SELECT max(account_number) from pybank")
            results = cursor.fetchall()
            for row in results:
                self.account_number = row[0]
            sql = "INSERT INTO pybank(account_number,user_name, user_age, user_dob, amount) VALUES(%d,'%s',%d,'%s',%d)" %(self.account_number + 1,self.user_name, self.user_age, self.user_dob, self.total_amount)
            print(sql)

            cr = db.cursor()
            cr.execute(sql)
            db.commit()
            print("Your have successfully created your account")
            self.getAccountDetails()
        except:
            db.rollback()
            print("Your account is not created !!!! ")
            print
            print("Please try again")

您在 SQL 附近的 VALUES 中输入错误,您还应该使用占位符:

cursor = db.cursor()
cursor.execute("INSERT INTO pybank (account_number,user_name, user_age, user_dob, amount) VALUES (%s, %s, %s, %s, %s)", (self.account_number + 1, self.user_name, self.user_age, self.user_dob, self.total_amount))