我在使用python脚本更新我的sqlite数据库时遇到问题。
第一部分似乎工作正常:
conn = sqlite3.connect('/Users/test/Desktop/my-accounts.db')
currentAccount = None
for row in conn.execute('SELECT email FROM accounts WHERE active=0'):
currentAccount = row[0]
print "Checking out: ",currentAccount
break
if currentAccount is None:
print "No available accounts"
然后这个下一部分我想获取变量currentAccount并更新db中该值所在的行。
else:
conn.execute('UPDATE accounts SET active=1 WHERE email=?', [currentAccount,])
conn.close()
我在控制台中没有出现任何错误,但db没有更新。电子邮件列是VARCHAR,活动列是INT。
感谢。
解决方案即可添加 执行()
后conn.commit()
答案 0 :(得分:1)
尝试在conn.commit()
之后添加conn.execute("XXX")
。有时sqlite3不会自动提交执行。