Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/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
sql更新集?=?在哪里?(python,sqlite3)_Python_Sqlite - Fatal编程技术网

sql更新集?=?在哪里?(python,sqlite3)

sql更新集?=?在哪里?(python,sqlite3),python,sqlite,Python,Sqlite,Python,slite3 c.execute("UPDATE accounts SET ? = ? WHERE num=?", (db['choise'], db['data'], db['num'])) 所以我不知道这有什么问题 db是搁置数据库无法参数化列(和表)名称。对其使用字符串格式,对其余变量使用查询参数化: c.execute("UPDATE accounts SET {column} = ? WHERE num = ?".format(column=db['choise']),

Python,slite3

c.execute("UPDATE accounts SET ? = ? WHERE num=?", (db['choise'], db['data'], db['num']))
所以我不知道这有什么问题

db是搁置数据库

无法参数化列(和表)名称。对其使用字符串格式,对其余变量使用查询参数化:

c.execute("UPDATE accounts SET {column} = ? WHERE num = ?".format(column=db['choise']), (db['data'], db['num']))
也就是说,请确保正确验证/清理/转义
db['choise']
值,或者真正信任其来源(尽管在数据库交互方面不要信任任何人)。

列(和表)名称不能参数化。对其使用字符串格式,对其余变量使用查询参数化:

c.execute("UPDATE accounts SET {column} = ? WHERE num = ?".format(column=db['choise']), (db['data'], db['num']))

也就是说,请确保正确验证/清理/转义
db['choise']
值,或者真正信任它的来源(尽管在数据库交互方面不要信任任何人)。

列名不能作为参数提供。你可以试试

c.execute("UPDATE accounts SET "+str(db['choise'])+" = ? WHERE num=?", (db['data'], db['num']))

列名不能作为参数提供。你可以试试

c.execute("UPDATE accounts SET "+str(db['choise'])+" = ? WHERE num=?", (db['data'], db['num']))