Roc*_*e28 2 python mysql sql dictionary
我有一个更新数据库(MySQL)中的条目的函数,它需要尽可能动态。
该函数允许 API 用户传递记录的 id,然后使用 kwargs 来处理要更改的值(可以传递的值数量没有限制)。
假设我从 kwargs 那里得到了这本字典
{'hello':'world', 'foo':'bar'}
Run Code Online (Sandbox Code Playgroud)
有没有办法可以在更新语句中使用它。
UPDATE myTable
SET key_n = val_n, key_n+1 = val_n+1, ...
WHERE id = the_id_passed_to_the_function
Run Code Online (Sandbox Code Playgroud)
提前致谢。
尝试这个:
def UpdateQuery(data,where):
if isinstance(data, dict) and where:
vals = ','.join(["%s=?" %(k) for k,v in data.iteritems()])
query = "update myTable set %s where id=?" % (vals)
res = cr.execute(query,where)
Run Code Online (Sandbox Code Playgroud)