psycopg更新不起作用

时间:2015-03-17 01:54:46

标签: python postgresql psycopg2

我尝试使用psycopg更新postgres数据库中的某些行并且它没有做任何事情,脚本运行时没有错误,但数据库没有变化。< / p>

import psycopg2

conn = psycopg2.connect("dbname=timetrack user=n")
cur = conn.cursor()
cur.execute("select id, extract(epoch from begin_time) as b, extract(epoch from end_time) as e from activities;")
rows = cur.fetchall()

m = 10 ** 6
for i in range(0, len(rows)):
    row = rows[i]
    print(row)
    cur.execute("update activities set begin=(%s), \"end\"=(%s) where id=(%s);",
            (row[0] * m, row[1] * m, row[2]))

conn.commit()
cur.close()
conn.close()

1 个答案:

答案 0 :(得分:0)

事实证明我在行变量的索引中犯了一个错误。我想在字符串中设置begin to begin,end to end和id to id。但是,我最终设置开始id,结束开始,id开始。 Postgres找不到任何要更新的行,因为ID是错误的,所以它没有做任何事情。