问题:为什么这个sqlite3语句没有更新记录?
信息:
cur.execute('UPDATE workunits SET Completed=1 AND Returns=(?) WHERE PID=(?) AND Args=(?)',(pickle.dumps(Ret),PID,Args))
Run Code Online (Sandbox Code Playgroud)
我正在使用python和sqlite3.这个语句不会抛出错误,它似乎就是被忽略了.由于测试原因我在下面包括:
cur.execute('SELECT * FROM workunits WHERE PID=(?) AND Args=(?)',(PID,Args))
Run Code Online (Sandbox Code Playgroud)
哪个记录就好了.但记录没有与腌制ret的新值一起更新.它仍然是你.我无法弄清楚为什么.我的where声明似乎有效.我的语法似乎是正确的,因为没有抛出错误.我对于为什么它不起作用我一无所知.
Ari*_*aco 21
如果修复语法后问题仍然存在.请确保您使用的是:
conn.commit()
Run Code Online (Sandbox Code Playgroud)
在cur.execute之后,UPDATES和INSERTS需要COMMIT.
不要使用'AND',使用','.
cur.execute('UPDATE workunits SET Completed=1, Returns=? WHERE PID=? AND Args=?',
(pickle.dumps(Ret), PID, Args)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11672 次 |
| 最近记录: |