psycopg2导入时有任何常见错误吗?

时间:2012-10-05 00:03:55

标签: python

所以我用psycopg2插入到PostgreSQL 9.2中,我在Python 2.7上。我在这个插页上使用了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 ,它在FAQ中没有任何内容。

1 个答案:

答案 0 :(得分:0)

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

因此,为了提交你的insert,你需要它(假设cur是一个游标,你只需要在游标的连接上调用commit):

cur.connection.commit()

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