所以我用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中没有任何内容。
答案 0 :(得分:0)
默认情况下, psycopg2 连接的autocommit属性值为False
(手动提交),符合 psycopg2 中的DBAPI规范,因此 “在第一个命令执行时启动一个新事务:必须手动调用方法 commit()
或 rollback()
以终止事务”
因此,为了提交你的insert
,你需要它(假设cur
是一个游标,你只需要在游标的连接上调用commit):
cur.connection.commit()
或者,您可以将连接autocommit
属性值设置为True
,然后“驱动程序不处理任何事务,并且发送到后端的每个语句都会立即生效”