插入似乎没有发生

2024-09-30 16:23:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我将gevent与gevent-mysql一起使用(我还使用了pymysql来达到相同的效果)。它做得很好,但无论我做什么,我不能让它运行插入。我没有主意了。你知道吗

conn = geventmysql.connect(host='localhost', port=3306, user='root', db='content')
cur = conn.cursor()
cur.execute("insert into placement (placement_name, some_id) values ('static', 1)")
cur.close()
conn.close()

Tags: localhosthostcloseportconnectmysqlgeventconn
3条回答

如果geventmysql的工作方式与pythondbapi的其余部分类似,则需要调用commit来提交对数据库的任何更改。除非geventmysql

如果您使用的是事务存储引擎(比如InnoDB),那么应该检查autocommit变量的值:http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_autocommit

如果是0,则需要使用内置的commit()方法或execute("COMMIT")调用提交事务。你知道吗

Python DB API中,所有内容都隐式地是一个事务。如果您关闭连接而不提交,它将被回滚。请执行以下操作:

conn.commit()
cur.close()
conn.close()

相关问题 更多 >