gpt4 book ai didi

python - 使用 Python mysql.connector 成功插入后 MySQL 数据丢失

转载 作者:行者123 更新时间:2023-11-28 21:51:34 25 4
gpt4 key购买 nike

我正在使用 python mysql.connector 进行一些数据库操作。我的数据库表结构是这样的:

enter image description here

我用 Faker Package(fake-factory 0.5.0) 运行一个 python 脚本 来填充这个数据库表。插入后,我运行一个查询来验证数据是否正确存储到表中。 python 脚本显示所有插入的数据并以 exit code 0

结束

但是当我通过 phpMyadmin 浏览该表时,它不显示那些插入的行。这些插入的数据在下次运行后不会持续存在。

这是我的代码:

import mysql.connector
from faker import Faker

fake = Faker()

cnx = mysql.connector.connect(user='root', password='001',
host='127.0.0.1',
database='smf')
cursor = cnx.cursor()

for i in range(1, 5):
query = "insert into user " + "(userid, name) values("+ str(i) + ", '" + fake.name() + "')"
cursor.execute(query)

query = "select * from user"
cursor.execute(query)

for (x) in cursor:
print ("name = " + format(x))

cnx.close()

最佳答案

默认 Connector/Python 关闭 autocommit,MySQL 5.5 及更高版本使用事务性 InnoDB 表,因此有必要commit使用连接的 commit() 方法进行更改。您也可以使用 rollback() 方法回滚。

因此,将 cnx.commit() 命令放在 cursor.execute(query) 之后可以解决您的问题。

关于python - 使用 Python mysql.connector 成功插入后 MySQL 数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30033091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com