0

psycopg2所以我正在使用 Python 2.7插入 PostgreSQL 9.2 。我try: except:在这个插件上使用它,它不会给我任何错误,并且运行起来就像一切都很好。与连接数据库相同。

每个人在使用它时都会遇到我没有想到的任何常见错误?

问题是insert实际上并没有插入。它不会给出错误,但也不会导入任何东西

cur.execute("""
INSERT INTO data ( date, time, name, qty, dayornight, bl, idc, prices, contractlength)
VALUES ( %s, %s, %s, %s, %s, %s, %s, %s, %s);""",
    (datet, timet, "lod", qty, "day", btores, 0, prices, contracts))

多谢你们!就像我说的,实际上没有错误,一切都运行良好。我检查了psycopg2并且它在常见问题解答中没有任何内容。

4

1 回答 1

0

默认情况下,根据psycopg2中的DBAPI 规范,psycopg2连接的autocommit属性值为(手动提交) ,因此“在第一次执行命令时启动新事务:必须手动调用方法方法以终止事务” 。False commit() rollback()

所以,为了你insert被提交,你需要在它之后(假设这cur是一个游标,你只需要在游标的连接上调用 commit):

cur.connection.commit()

或者,您可以将连接autocommit属性值设置True“驱动程序不处理任何事务,发送到后端的每个语句都立即生效”

于 2012-10-06T09:44:53.830 回答