无法使用 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()
答案很简单。
您不是 运行 您正在构建的查询。
您应该添加行
inscursor.execute(insert)
之前 conn.commit()
我正在尝试创建一个 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()
答案很简单。 您不是 运行 您正在构建的查询。
您应该添加行
inscursor.execute(insert)
之前 conn.commit()