小编Mos*_*osy的帖子

Python的多行UPSERT(INSERT或UPDATE)

我目前正在使用python实现下面的简单查询,使用pyodbc在SQL服务器表中插入数据:

import pyodbc

table_name = 'my_table'
insert_values = [(1,2,3),(2,2,4),(3,4,5)]

cnxn = pyodbc.connect(...)
cursor = cnxn.cursor()
cursor.execute(
    ' '.join([
        'insert into',
        table_name,
        'values',
        ','.join(
            [str(i) for i in insert_values]
        )
    ])
)
cursor.commit()
Run Code Online (Sandbox Code Playgroud)

只要没有重复键(假设第一列包含键),这应该可以工作.但是对于具有重复键的数据(表中已存在数据),将引发错误.如何使用pyodbc一次性在SQL服务器表中插入多行,以便只更新具有重复键的数据.

注意:针对单行数据提出了解决方案,但是,我想一次插入多行(避免循环)!

python sql-server pyodbc

2
推荐指数
3
解决办法
2138
查看次数

标签 统计

pyodbc ×1

python ×1

sql-server ×1