所以我需要更新数据库中的数据,但我得到一个我不明白的错误。我拥有的是这个
def update_account_balance(db, number, account, change):
con = sqlite3.connect(db)
cur = con.cursor()
cur.execute('UPDATE Accounts SET (?) = (?) WHERE Number == (?)', [account, change, number])
以及我得到的是:
Traceback (most recent call last):
Python Shell, prompt 2, line 1
File "/Users/aharonsnyder1/Desktop/assignment 2/banking.py", line 168, in <module>
cur.execute('UPDATE Accounts SET (?) = (?) WHERE Number == (?)', [account, change, number])
sqlite3.OperationalError: near "(": syntax error
我不确定它不喜欢什么。
答案 0 :(得分:2)
有几件事:
bootRun {
if ( project.hasProperty('springDebug') ) {
args '--debug'
}
}
子句中的参数才会在第二个参数中传递,而不是像SQL名称的结构组件一样传递。考虑修改使用列名格式化更新语句字符串的位置(假设列名是WHERE
变量中的值),然后传递参数:
account
答案 1 :(得分:1)
也许这有效
cur.execute('UPDATE Accounts SET (?) = (?) WHERE Number == (?)', (account, change, number))