SQL更新命令与python无法正常工作

时间:2013-03-30 07:28:40

标签: python sql sqlite

我在使用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()

1 个答案:

答案 0 :(得分:1)

尝试在conn.commit()之后添加conn.execute("XXX")。有时sqlite3不会自动提交执行。