无法使用 python Pymysql 更新 SQL 数据库

Unable to update SQL database using python Pymysql

我正在尝试创建一个 class 来自动生成客户对象,这些对象会在 Mysql 中的客户 table 中自动更新。

虽然我能够成功生成客户,但我没有在 localhost/phpmyadmin 中看到更新的结果。

from itertools import count
import pymysql

db = pymysql.connect('localhost','root','',db = 'customers')

cursor = db.cursor()

class customer():
    _ids = count(0)

    def __init__(self,User,Password,Wallet):
        self.ID = next(self._ids)
        self.User = User
        self.Password = Password
        self.wallet = Wallet

        insert = '''INSERT INTO customer(ID,Username,Password,Wallet) values ('%s','%s','%s','%s');'''%(self.ID,self.User,self.Password,self.wallet)

        conn = pymysql.connect('localhost','root','',db = 'customers')
        inscursor = conn.cursor()
        conn.commit()

Python 似乎也没有引发任何错误或异常。

KJ

你必须在提交之前执行。

with connection.cursor() as cursor:
    # Create a new record
    sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
    cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

# connection is not autocommit by default. So you must commit to save
# your changes.
connection.commit()

https://github.com/PyMySQL/PyMySQL#example

答案很简单。 您不是 运行 您正在构建的查询。

您应该添加行

inscursor.execute(insert) 

之前 conn.commit()