Postgresql表更新

3

我使用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; 我得到了一个空表格的显示..这是怎么回事?请帮助我


我自己解决了。在存储过程中,我忘记在INSERT和UPDATE语句之后使用COMMIT以提交所做的更改! - Ria
findmax()函数到底是做什么的?我觉得循环根本不必要,但这取决于findmax()在做什么。 - user330315
1个回答

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接