Psycopg2-Python:更新的语法问题

时间:2018-12-20 11:16:17

标签: python psycopg2

我的代码如下:

conn = psycopg2.connect("dbname=monty user=postgres host=localhost password=****")
cur = conn.cursor()
cur.execute("SELECT * FROM binance.zrxeth_aggregated FETCH first 1 rows only;")
row = cur.fetchone()
print(row[0])
    datetime.datetime(2018, 10, 3, 16, 27, 29, 198000)
print(row[1])
buy

我现在想要做的是更新表的last_level_fully_taken列:

lastLevelFullyTaken = true
cur.execute("UPDATE binance.zrxeth_aggregated SET last_level_fully_taken = lastLevelFullyTaken WHERE timestamp = row[0] AND side = row[1];")
cur.close()
conn.close()

我收到以下错误:

ProgrammingError: column "row" does not exist

我在语法上有一些困难,有人可以帮我吗?谢谢

1 个答案:

答案 0 :(得分:-1)

尝试以下查询:

query = "UPDATE binance.zrxeth_aggregated SET last_level_fully_taken = lastLevelFullyTaken WHERE timestamp = %s AND side = %s;"
params = (row[0], row[1])
cur.execute(query, params)

这应该有效