我尝试使用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()
答案 0 :(得分:0)
事实证明我在行变量的索引中犯了一个错误。我想在字符串中设置begin to begin,end to end和id to id。但是,我最终设置开始id,结束开始,id开始。 Postgres找不到任何要更新的行,因为ID是错误的,所以它没有做任何事情。