【发布时间】:2022-01-17 19:51:35
【问题描述】:
我正在使用 Python 将数据推送到 SQL Server。假设我有一个如下表:
我正在使用以下代码和查询推送数据
query = """INSERT INTO TestTable (Key, One, Two) values(?,?,?)"""
接下来,我想在“Two”列和两个新行中推送一个值为“A2”、“A3”的数据,如下所示:
如果主键不存在,我希望查询插入新行,并在主键存在时覆盖该行。我尝试使用 REPLACE INTO 而不是 INSERT INTO,但这似乎在 SQL Server 中不起作用。
请你帮忙。
【问题讨论】:
-
我认为您所说的是通常被称为“upsert”的内容(如果存在则更新,否则插入)。你可以在这里阅读一些方法:sqlperformance.com/2020/09/locking/upsert-anti-pattern
-
根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。
标签: python sql sql-server