python sqlalchemy不执行sql查询
我正在使用Python和sqlalchemy清空存储在SQLServer中的表。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
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()