我使用
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().
您可以对隔离级别进行各种不同的设置,例如: autocommit,所以你不需要自己发出提交.例如,参见How do I do database transactions with psycopg2/python db api?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。