psycopg2(插入,更新)编写问题

bur*_*mre 8 python psycopg2

我可以发送任何问题的选择查询,但当我发送更新和插入查询时,它开始等待线程,不再响应.我不能确定,但​​它似乎是一个循环.

我知道我们必须使用"commit()"来应用更改,但它不起作用.

这是我的代码:

import psycopg2
conn = psycopg2.connect("dbname='test' user='postgres' host='localhost' password='xx");
cursor = conn.cursor()
cursor.execute("UPDATE recording SET rank = 10 WHERE id = 10;")
conn.commit()
cursor.close ()
Run Code Online (Sandbox Code Playgroud)

小智 19

import psycopg2
conn = psycopg2.connect(database="dbasename",user="username",password='your_password',host='web_address',port='your_port')
cursor = conn.cursor()
cursor.execute("UPDATE table_name SET update_column_name=(%s) WHERE ref_column_id_value = (%s)", ("column_name","value_you_want_to_update",));
conn.commit()
cursor.close()
Run Code Online (Sandbox Code Playgroud)

您没有正确格式化您的执行语句.


pir*_*iro 6

它很可能是数据库中的锁,线程/进程试图更新相同的记录。


bur*_*mre -3

问题是 psycopg2 不支持线程。