[英]Postgresql table update
我使用python中的postgresql更新了数据库表我的代码是
import psycopg2
connection=psycopg2.connect("dbname=homedb user=ria")
cursor=connection.cursor()
l_dict= {'licence_id':1}
cursor.execute("SELECT * FROM im_entry.usr_table")
rows=cursor.fetchall()
for row in rows:
i=i+1
p = findmax(row)
#print p
idn="id"
idn=idn+str(i)
cursor.execute("UPDATE im_entry.pr_table SET (selected_entry) = ('"+p+"') WHERE image_1d ='"+idn+"'")
print 'DATABASE TO PRINT'
cursor.execute("SELECT * FROM im_entry.pr_table")
rows=cursor.fetchall()
for row in rows:
print row
我显示了更新的表格
但当我通过psql显示更新的表作为homedb =#SELECT * FROM im_entry.pr_table; 我显示了一个空表...有什么不对? 请帮我
您可能没有提交交易,即您需要在所有更新后使用connection.commit()
。
您可以对隔离级别进行各种不同的设置,例如自动提交,因此您不需要自己发出提交。 例如,请参阅如何使用psycopg2 / python db api进行数据库事务?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.