我已经使用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