1

我将 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()
4

3 回答 3

3

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

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

于 2011-05-20T23:16:03.947 回答
2

如果 geventmysql 像其他 python DB API 一样工作,您需要调用 commit 来提交对数据库的任何更改。除非geventmysql

于 2011-05-20T23:14:07.177 回答
1

Python DB API中,一切都是隐含的事务。如果您在未提交的情况下关闭连接,它将回滚。做这个:

conn.commit()
cur.close()
conn.close()
于 2011-05-20T23:15:58.143 回答