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

时间:2017-07-29 17:26:54

标签: python mysql sql

我一直在尝试使用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')""")

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

2 个答案:

答案 0 :(得分:1)

您需要提交数据库中的更改并关闭数据库。 请按照以下代码更改:

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()

答案 1 :(得分:0)

您需要在连接中添加MySQLdb.commit()。 (Source

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

希望它有所帮助!