gpt4 book ai didi

python - 带有 SQLAlchemy 的 TSQL 不执行

转载 作者:行者123 更新时间:2023-12-01 05:37:21 25 4
gpt4 key购买 nike

我正在尝试使用 SQLAlchemy 和 pymssql 在远程 MSSQL 数据库中执行 TSQL 查询。我已经直接在数据库中测试了我的程序查询,它按预期工作,如果我直接通过 pymssql 运行它,它也可以工作。如果我运行常规的单行查询,例如:

select table_name from INFORMATION_SCHEMA.tables

通过 SQLAlchemy,这也可以正常工作。但是当我尝试执行以下 TSQL 查询时,它实际上并没有创建表:

IF NOT EXISTS (SELECT * 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'SOME_TABLE')
BEGIN
CREATE TABLE SOME_TABLE (SOME_TEXT VARCHAR(255), SOME_TIME DATETIME)
END

它运行它,因为它是成功的,如果我尝试从执行中读取结果,它会按预期给出“资源已关闭错误”,因为它是一个 CREATE 查询。但是,如果我尝试将数据添加到表“SOME_TABLE”中,它会告诉我该表不存在。感觉它只是将查询作为函数上传,但从未执行它。有任何想法吗?或者甚至更好;使用 SQLAlchemy 和 pymssql 执行时实际有效的 TSQL 查询。

谢谢

最佳答案

您需要在 session 中提交待处理的更改。要基本了解该过程,请阅读 Using the Session 。快速解决方案:

session.commit()

关于python - 带有 SQLAlchemy 的 TSQL 不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18601521/

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