python sqlalchemy不执行sql查询

python sqlalchemy不执行sql查询,python,sql-server,sqlalchemy,Python,Sql Server,Sqlalchemy,我正在使用Python和sqlalchemy清空存储在SQLServer中的表。SQL查询在session.execute函数中作为参数给出,似乎根本不执行。该表仍然包含数据 当我在SQLServerMS中打印并运行同一个查询时,它会完全按照预期执行 谢谢你的帮助 tableName = 'someTable' engine = sqlalchemy.create_engine('connectionString') Session = scoped_session(sessionmaker(b

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

当我在SQLServerMS中打印并运行同一个查询时,它会完全按照预期执行

谢谢你的帮助

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)

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

您可以在此处进行设置:

sessionmaker(bind=engine, autocommit=True)
或:

参考
sessionmaker()


谢谢您的快速回答。第一个建议不起作用,尽管第二个解决了问题!太好了,我很高兴能帮上忙!
session.commit()