python sqlite3更新未更新

2024-05-29 10:51:35 发布

您现在位置:Python中文网/ 问答频道 /正文

问:为什么这个sqlite3语句不更新记录?


信息:

cur.execute('UPDATE workunits SET Completed=1 AND Returns=(?) WHERE PID=(?) AND Args=(?)',(pickle.dumps(Ret),PID,Args))

我正在使用python和sqlite3。这个语句没有抛出错误,只是看起来它被忽略了。出于测试原因,我将其包括在下面:

cur.execute('SELECT * FROM workunits WHERE PID=(?) AND Args=(?)',(PID,Args))

这张唱片还不错。但记录并没有更新pickled ret的新值,它仍然是u''。我不明白为什么。我的where语句似乎有效。我的语法似乎是正确的,因为没有抛出错误。我不知道它为什么不起作用。


Tags: and信息execute错误记录argsupdate语句
2条回答

不要使用“AND”,使用“,”。

cur.execute('UPDATE workunits SET Completed=1, Returns=? WHERE PID=? AND Args=?',
    (pickle.dumps(Ret), PID, Args)
)

如果修复语法后问题仍然存在。请确保您正在使用:

conn.commit()

在cur.execute之后,更新和插入需要提交。

相关问题 更多 >

    热门问题