关于MySQLdb conn.autocommit(True)
我已经安装了python 2.7 64bit,MySQL-python-1.2.3.win-amd64-py2.7.exe。
我使用以下代码插入数据:
class postcon:
def POST(self):
conn=MySQLdb.connect(host="localhost",user="root",passwd="mysql",db="dang",charset="utf8")
cursor = conn.cursor()
n = cursor.execute("insert into d_message (mid,title,content,image) values(2,'xx','ccc','fff')")
cursor.close()
conn.close()
if n:
raise web.seeother('/')
这导致将n打印为1,但在mysql客户端数据中不可见。
谷歌说我必须添加conn.autocommit(True)
。
但是我不知道为什么MySQLdb将其关闭;
-
我不知道在GAE中使用自动提交是否有特定的原因(假设您正在使用它)。否则,您可以手动提交。
class postcon: def POST(self): conn=MySQLdb.connect(host="localhost",user="root",passwd="mysql",db="dang",charset="utf8") cursor = conn.cursor() n = cursor.execute("insert into d_message (mid,title,content,image) values(2,'xx','ccc','fff')") conn.commit() # This right here cursor.close() conn.close() if n: raise web.seeother('/')
请注意,您可能应该检查插入是否成功完成,否则,请回滚提交。