SQL合并将来自两个独立数据库的两个表联接起来

2024-09-27 23:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在microsoftsqlserver上使用pythonsql炼金术核心执行一个简单的合并连接查询。在

首先,让我解释一下如何使用server management studio:

MERGE [Database1].[Schema1].[Table1] table1
USING [Database2].[Schema2].[Table2] table2
ON table1.[Key] = table2.[Key]
WHEN MATCHED THEN   
UPDATE   
SET table1.[Column] = table2.[Column];

这很好,并且成功设置了Column。在

但当我使用python执行此操作时:

^{pr2}$

不会发生任何情况,不会引发异常,Column值不会受到影响。在

我已检查SQL Server探查器并确保正在提交查询。在

我尝试执行更简单的查询,比如:

q="SELECT * FROM TABLE1"

很好用。在

这里有什么问题?在


Tags: key核心servercolumnmergemanagement炼金术using
1条回答
网友
1楼 · 发布于 2024-09-27 23:28:34

SQLAlchemy默认情况下不会将MERGE语句识别为数据更改操作,因此在使用连接时不使用^{}时不会发出提交。你应该读"Understanding Autocommit"。因此,要么使用显式事务:

with conn.begin() as trans:
    conn.execute(q)

或通知SQLAlchemy此语句应自动提交:

^{pr2}$

顺便说一句,Python支持不带反斜杠的三引号的多行字符串,除非您特别希望避免换行:

^{3}$

相关问题 更多 >

    热门问题