我尝试将两个参数传递到sql语句中,如下所示:
cursor.execute(f"""select * from table
where product_name = '{prod_name}' and date = '{sale_date}'"""")
我试着让这几个组合通过一个循环运行,所以我试着看看我如何可以有相应的改变。
prod_name = ['prod_a','prod_b']
sale_date = ['2020-01-01','2020-02-01']
我知道如何通过循环传递一个参数,但我不知道如何同时传递多个参数。
2条答案
按热度按时间hec6srdp1#
直接向sql查询中添加变量是一种安全隐患。
cursor.execute
只要将参数作为函数调用的第二个参数传递,就提供清理。例子:
要一次遍历多个列表,可以执行以下操作(假设列表具有相同数量的值):
通过在一个范围内循环,我得到了0-len(prod\u name)的数字,当我循环索引
i
我可以用它来检索两个列表中的第一项。山姆·梅森对使用
zip
组合迭代器的函数,可以这样使用:hgqdbh6s2#
试试这个: