gpt4 book ai didi

python - 使用 Python 和 pypyodbc 插入 MSSQL 数据 - 参数必须位于列表、元组中

转载 作者:行者123 更新时间:2023-12-01 02:44:55 24 4
gpt4 key购买 nike

我正在尝试将值写入(我可以很好地读取)MSSQL 实例。我的代码类似于:

import pypyodbc
lst = ['val1', 'val2', 'val3']
connection = pypyodbc.connect(...)
cursor = connection.cursor()
cursor.executemany("INSERT INTO table (a, b, c)VALUES(?,?,?)", lst)

这将返回:参数必须位于列表、元组中。我读过类似的帖子,建议尝试 lst = list(['val1, 'val2', val3'])但这会返回: list() 最多接受 1 个参数(给定 3 个参数)我也尝试过cursor.execute()的变体,但有同样的问题。

最佳答案

请注意 cursor.execute 之间的区别:

.execute ( operation [, parameters ])

Parameters may be provided as sequence or mapping and will be bound to variables in the operation.

cursor.executemany :

.executemany ( operation , seq_of_parameters )

Prepare a database operation (query or command) and then execute it against all parameter sequences or mappings found in the sequence seq_of_parameters .

因此,如果您仅针对一组值执行查询,请按如下方式调用:

values = ['val1', 'val2', 'val3']
cursor.executemany("INSERT INTO table (a, b, c) VALUES (?,?,?)", [values])

或者,对于多组值:

values1 = ['val1', 'val2', 'val3']
values2 = ['val3', 'val2', 'val1']
cursor.executemany("INSERT INTO table (a, b, c) VALUES (?,?,?)", [values1, values2])

关于python - 使用 Python 和 pypyodbc 插入 MSSQL 数据 - 参数必须位于列表、元组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45352760/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com