python – Postgresql表更新

我使用 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?

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...