出于某种原因,我不断收到
findSenGroup = cur.executemany("UPDATE SEN_Table SET SenNumber = "+ senNumStr + "WHERE FormName='"+ nameGroup + "'")
TypeError:函数恰好需要 2 个参数(给定 1 个)错误
此更新声明:
findSenGroup = cur.executemany("UPDATE SEN_Table SET SenNumber = " + senNumStr + " WHERE FormGroup='" + nameGroup + "'")
如下表
senNumStr
是我想要将列更新为的数字。
nameGroup
是我想要添加 senNumStr
的行的名称
`````
最佳答案
我不确定当您只执行一条语句时是否需要在此处使用executemany
。您可以简单地使用:
cur.execute("UPDATE SEN_Table SET SenNumber = " + senNumStr + " WHERE FormName='" + nameGroup + "'")
最好使用参数化查询而不是格式化字符串,以避免 SQL 注入(inject)漏洞:
cur.execute("UPDATE SEN_Table SET SenNumber = ? WHERE FormName = ?", (senNumStr, nameGroup))
关于Python SQLite : Update Statement TypeError: function takes exactly 2 arguments (1 given),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50059200/