gpt4 book ai didi

python sqlalchemy不执行sql查询

转载 作者:太空宇宙 更新时间:2023-11-03 15:59:17 24 4
gpt4 key购买 nike

我正在使用 Python 和 sqlalchemy 清空存储在 SQL Server 中的表。似乎在 session.execute 函数中作为参数给出的 SQL 查询根本不执行。该表仍然包含数据。

当我在 SQL Server MS 中打印并运行相同的查询时,它完全符合预期。

感谢您的帮助!

tableName = 'someTable'
engine = sqlalchemy.create_engine('connectionString')
Session = scoped_session(sessionmaker(bind=engine))
currentSession = Session()
query = 'IF ('
'EXISTS ('
'SELECT * FROM INFORMATION_SCHEMA.TABLES '
'WHERE TABLE_SCHEMA = \'dbo\' '
'AND TABLE_NAME = \'%s\')) '
'BEGIN '
'DELETE FROM [database].[dbo].[%s] '
'END' % (tableName,tableName)
session.execute(query)
print(query)

最佳答案

问题是您没有提交交易。根据您的配置,您需要设置 autocommit为 True,或在执行后提交您的事务(通常在需要回滚的多个事务中处理):

你可以在这里设置:

sessionmaker(bind=engine, autocommit=True)

或:

session.commit()

引用sessionmaker():

http://docs.sqlalchemy.org/en/latest/orm/session_api.html

关于python sqlalchemy不执行sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41380767/

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