[英]python sqlalchemy not executing sql query
我正在使用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()
引用:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.