我已經使用exists來檢查數據庫中是否存在數據。SqlAlchemy存在用法
我在後面的主題中按照@icecrime的回答。 SqlAlchemy Core and bare exists query
當上述線程中解釋使用EXISTS
時,出現跟隨錯誤。
*** ProgrammingError: (ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'EXISTS'. (156) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared. (8180)") u'SELECT EXISTS (SELECT * \nFROM [ItemData] \nWHERE [ItemData].[name] = ?)' ('skv',)
我正在使用Sqlalchemy,以下是我用過的代碼。
result=conn.execute(select([exists().where(ItemData.c.name == 'skv')]))
我已使用"mssql+pyodbc//"
前綴連接到服務器。當我使用sqlite處理數據庫時,它的工作完美無缺,是否對於Microsoft SQL數據庫訪問非常具體? PS:我是新來的sqlalchemy,如果錯誤的話我的術語道歉。
感謝您與答案澄清。你可以讓我知道如何在上面的select語句中使用literal()。在SQL文檔中,會話對象給出了示例,我無法在選擇語句中轉換/使用該對象。我已經嘗試了幾個隨機變化,但沒有工作。例如:'conn.execute(exists([select([literal(True)])。其中(ItemData.c.name =='skv')]))'給出以下錯誤'*** StatementError:不是可執行子句(原因:ArgumentError:不是可執行子句)' – user26249 2015-01-13 13:05:56