我在Eclipse中的PyDev上运行这个。
import pymysql
conn = pymysql.connect(host='localhost', port=3306, user='userid', passwd='password', db='fan')
cur = conn.cursor()
print "writing to db"
cur.execute("INSERT INTO cbs_transactions(leagueID) VALUES ('test val')")
print "wrote to db"结果是,在控制台的顶部显示C:...test.py,并且在控制台中:
写入到数据库写入到数据库
所以直到执行命令之后它才会终止。但是当我查看MySQL中的表时,它是空的。未插入记录。
首先,为什么它不写记录。其次,我如何查看日志或错误来查看发生了什么。通常,如果代码失败,应该会有一些红色的错误。
发布于 2013-12-10 11:17:56
你提交了吗?conn.commit()
发布于 2014-03-27 15:28:11
PyMySQL禁用autocommit默认情况下,您可以将autocommit=True添加到connect()
conn = pymysql.connect(
host='localhost',
user='user',
passwd='passwd',
db='db',
autocommit=True
)或在插入后调用conn.commit()
发布于 2018-02-07 17:09:28
你可以这样做
在调用close之前执行
conn.commit()或
conn.autocommit(True)启用自动提交。这两种方法都是不同的人在重复这个问题时提出的,可以在这里找到:Database does not update automatically with MySQL and Python
https://stackoverflow.com/questions/20485332
复制相似问题