Python SQLITE Update子句未更新

时间:2020-08-07 10:36:03

标签: python sqlite

我正在尝试更新数据库,不确定IVE哪里出了问题。测试已经证实,在打印时,所有变量均具有应有的值,但是肯定是通过代码进行解析的,但是出于某种原因,即使在未提交任何更改之后也是如此。我错过了一些简单的语法吗?

c.execute(''' UPDATE Stats SET
              WinAmount = ? ,
              PickAmount = ? ,
              StarPlayerAmount = ? 
              WHERE MapName IS ? AND BrawlerName IS ? '''
              , (NWin , NPick , NStarPlayer ,BattleDetails['event']['map'],winner['brawler']['name']
conn.commit()

编辑:我没有收到任何错误,数据库保持原状

1 个答案:

答案 0 :(得分:0)

您使用IS语法似乎不正确。 IS主要用于与NULL进行比较时,而不用于其他类型的比较。试试这个版本:

c.execute('''UPDATE Stats SET
    WinAmount = ? ,
    PickAmount = ? ,
    StarPlayerAmount = ? 
    WHERE MapName = ? AND BrawlerName = ? ''',
       (NWin , NPick , NStarPlayer, BattleDetails['event']['map'], winner['brawler']['name']))
conn.commit()