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

时间:2011-09-18 00:29:27

标签: 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 ()

3 个答案:

答案 0 :(得分: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()

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

答案 1 :(得分:4)

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

答案 2 :(得分:-4)

问题是psycopg2不支持线程。