2011-03-17 61 views
3

我从蟒蛇 更新使用PostgreSQL数据库表我的代码是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 =#显示更新的表选择* FROM im_entry.pr_table; 我得到一个空表显示..有什么错?请帮助我

+0

我自己解决了这个问题。我已经忘记在INSERT和UPDATE语句之后的过程中使用COMMIT以提交所做的更改! – Ria 2011-03-17 13:01:52

+0

findmax()函数做了什么?我不认为循环是必要的,但这取决于'findmax()'在做什么 – 2011-03-17 13:05:26

回答