1

我在让我的 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 并更新数据库中该值所在的行。

else:
    conn.execute('UPDATE accounts SET active=1 WHERE email=?', [currentAccount,])

conn.close()

我在控制台中没有收到任何错误,但数据库没有更新。电子邮件列是 VARCHAR,活动列是 INT。

谢谢。

解决方案conn.commit()是在执行()之后添加

4

1 回答 1

1

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

于 2013-03-30T08:15:48.657 回答