我有以下Python3代码:
def updateDB(databaseLoc, post_id, new_class):
conn = sqlite3.connect(databaseLoc)
curs = conn.cursor()
vals = [new_class, post_id, ]
curs.execute('UPDATE POST SET CLASSIFICATION=? WHERE POSTID=?', vals)
conn.commit()
conn.close()
有时也叫
if js[0]['data']['children'][0]['data']['ups'] > 2000:
print(post_id, "made it")
updateDB('retrieved_data.db',1,post_id)
但是,即使在更新和提交之后,当我进入数据库时,没有任何变化(分类仍然设置为初始值0)。我已经手动测试了SQL字符串,效果很好。你知道吗
我有类似的代码插入,工作良好:
def pushToDB(databaseLoc, posts):
conn = sqlite3.connect(databaseLoc)
curs = conn.cursor()
for p in posts:
vals = [p.id, p.title, p.s, p.time, p.day, "", p.first, p.second, p.image, 0, ]
try:
curs.execute('INSERT INTO POST VALUES(?,?,?,?,?,?,?,?,?,?)',vals)
except:
pass
conn.commit()
conn.close()
Python3更新是否还需要执行其他步骤?我已经浏览了文档,它没有指定任何附加内容,但是它只提到了updateonce,只是忽略了它。我在python中也很少发现更新示例
函数的签名为:
但你似乎在说:
导致每次都试图更新post where
POSTID = 1
,这可能不是您想要的。你知道吗相关问题 更多 >
编程相关推荐