我一直在尝试使用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')""")
不确定我是否犯了一个非常愚蠢的错误,但我无法弄清楚为什么没有插入任何东西。
答案 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)