|
10
|
| John Giotta iaforek · 技术社区 · 16 年前 |
|
1
12
编辑:请注意,正如@rspeer在评论中所提到的,要采取预防措施来保护自己免受SQL注入攻击。 测试用 pg8000 (与PostgreSQL数据库引擎兼容的DB-API 2.0纯python接口): 这是将多个参数传递给“in”子句的推荐方法。
另一个编辑(完全测试和工作示例):
|
|
|
2
1
错误来自3后面的逗号。只需为单个值保留它,就可以设置。
|
|
|
3
1
这也许不是你问的问题的确切答案,但我认为它可以解决你的问题。
python的db-api似乎没有给您一种将元组作为安全替换参数传递的方法。伯尼接受的答案是使用python
但是,您可能不必将元组作为参数传递,特别是当您想要的元组是另一个SQL查询的结果时(如您向Daniel指出的那样)。相反,您可以使用SQL子查询。
如果在IN子句中需要的ID集是
这也可以参数化(安全方式)。如果要选择的ID是具有给定
|
|
|
4
0
接受的答案有SQL注入的风险;您永远不应该将用户输入直接传递到数据库。相反,使用正确数量的占位符生成一个查询,然后让pg8000进行转义:
|