我有这样一个清单:
result1 = ['"United States"', '"China"', '"Sweden"', '"Europe"', '"Russian Federation"', '"China"']
我想把它插入一个表中:
^{pr2}$但我得到一个错误:
Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied.
任何帮助都将不胜感激。或者如果你需要更多的代码,请告诉我。在
编写的代码试图插入一行,在该行中指定74个值,而不是查询所需的1。在
此外,参数化查询的优点在于,您不需要(也不应该)引用字符串或执行任何其他操作来避免SQL注入攻击。因此,您的国家/地区列表中的字符串可能不应该被引用(除非您出于某种原因希望它们在数据库中实际包含引号)。在
您可能正在寻找con.executemany,它接受一个列表列表。因此,您需要类似于:
请注意,这(可能)运行74个独立的INSERT语句,而不是1个多行INSERT语句,这取决于您使用的数据库。某些高级SQL框架(如SQLAlchemy)提供了更好地处理这一问题的工具,而您特定风格的数据库API也可能提供类似的工具。在
如果没有这两种方法,那么执行多行插入的另一种方法是这样的:(编写得比实际需要的要详细得多)
^{pr2}$相关问题 更多 >
编程相关推荐