Postgresql表upd

2024-04-26 13:01:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我用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=#从im_entry.pru表中选择*; 我看到一张空桌子。怎么了??请帮帮我


Tags: fromidexecutetableconnectionselectcursorpsycopg2
1条回答
网友
1楼 · 发布于 2024-04-26 13:01:35

您可能没有提交事务,也就是说,在所有更新之后,您需要一个connection.commit()

您可以对隔离级别进行各种不同的设置,例如autocommit,因此不需要自己发出提交。例如,请参见How do I do database transactions with psycopg2/python db api?

相关问题 更多 >