无法使用 MySQLdb python 插入到 MySQL 数据库中



我一直在尝试使用MySQLdb接口从python插入MySQL数据库。虽然我已经能够成功执行选择查询,但我的插入查询什么也没做。它们不返回任何错误,但也不会向数据库添加任何内容。

我将我的程序简化为这个。

db = MySQLdb.connect(host='127.0.0.1',user=...,passwd=...,db=...)
cursor = db.cursor()
cursor.execute("""INSERT INTO user_event_log (username, major_event_id, minor_event_id, value, date) VALUES ('Test', 1, 1, '0.1', '2017-07-29')""")

不确定我是否犯了一个非常愚蠢的错误,但我无法弄清楚为什么什么都没有插入。

您需要在数据库中提交更改并关闭数据库。 请遵循以下代码更改:

import MySQLdb
# Open database connection
db = MySQLdb.connect(host='127.0.0.1',user=...,passwd=...,db=...)
# prepare a cursor object using cursor() method
cursor = db.cursor()
sql = """INSERT INTO user_event_log (username, major_event_id, minor_event_id, value, date) VALUES ('Test', 1, 1, '0.1', '2017-07-29')"""
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# disconnect from server
db.close()

您需要向连接添加MySQLdb.commit()。(来源(

这就像在代码末尾添加db.commit()一样简单。

希望对您有所帮助!

最新更新