我正在使用以下代码段插入一些值:
execute_values(
dest_cursor,
f'''
INSERT INTO {tName}({tColumns}) VALUES %s;
''',
records,
template=customTemplate,
)
但是在阅读文档时,我发现了一些有关SQL注入的警告,例如here:
警告永远不要,永远不要使用Python字符串串联(+)或字符串参数插值(%)将变量传递给SQL查询字符串。甚至没有枪口。
但这是不可能的(因为我无法将多个参数传递给execute_values
):
execute_values(
dest_cursor,
'INSERT INTO %s (%s) VALUES %s;',
(tName, tColumns, records),
template=customTemplate,
)
有什么可以改善的吗?