繁体   English   中英

我如何转义此字符串以进行SQL查询?

[英]How can i escape this string for sql query?

尝试将此查询与转义变量一起使用:

"UPDATE table_name SET status = ?, status_by = ? WHERE (unique_id, page_id) IN (?)", [req.body.action, req.body.status_by, aSet]

但最终收到此错误:“操作数应包含2列”

这是Set的外观: (1234567890, 123),(1234567890, 123)

您不能使用? 整个列表的占位符,只能用单个值替换。

你需要的所有元素扩散aSet成单独的参数,并把足够? 查询中的所有占位符。

qs = ",".join(["(?, ?)"]*len(aSet))
sql = """UPDATE table_name SET status = ?, status_by = ? 
    WHERE (unique_id, page_id) IN (%s)"""%(qs)
cur.execute(sql, [req.body.action, req.body.status_by] + list(sum(aSet, ()))

我从将“元组列表”转换为平面列表或矩阵得到了list(sum(aSet, ())表达式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM