Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLITE Update子句未更新_Python_Sqlite - Fatal编程技术网

Python SQLITE Update子句未更新

Python SQLITE Update子句未更新,python,sqlite,Python,Sqlite,我正试图更新我的数据库,不确定哪里出了问题。测试已经确认,它肯定是通过代码进行解析的,当打印时,所有变量都具有它们应该具有的值,但是出于某种原因,即使在提交之后,也没有进行任何更改。我是否遗漏了一些简单的语法 c.execute(''' UPDATE Stats SET WinAmount = ? , PickAmount = ? , StarPlayerAmount = ? WHE

我正试图更新我的数据库,不确定哪里出了问题。测试已经确认,它肯定是通过代码进行解析的,当打印时,所有变量都具有它们应该具有的值,但是出于某种原因,即使在提交之后,也没有进行任何更改。我是否遗漏了一些简单的语法

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()
编辑:我没有收到任何错误,数据库只是保持原样

您对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()
您对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()

感谢您指出这种语法,我对python还比较陌生,而且还在学习这类东西,但不幸的是,这并没有解决问题我没有得到错误,但数据库没有更新fetchall仍然返回[]您确定有匹配项吗?我有一个故障保护,但现在您已经提出了,错误可能在代码的该部分。我去看看能不能弄明白,如果不能,我会问的。谢谢我的failsafe正在更新而不是插入感谢您指出语法,我对python还相当陌生,并且仍在学习这类东西,但不幸的是,这并没有解决问题我没有得到错误,但数据库没有得到更新fetchall仍然返回[]你确定有匹配吗?我确实有一个故障保护,但现在你已经提出了,错误可能在代码的那部分。我去看看能不能弄明白,如果不能,我会问的。谢谢我的故障保险箱没有插入