繁体   English   中英

Python 2.7 MSSQL 语法错误接近订单

[英]Python 2.7 MSSQL Incorrect Syntax near Order

我到处搜索以寻找解决此问题的方法,当我将 Order by 添加到语句时收到错误消息:

(156,“关键字‘Order’附近的语法不正确。DB-Lib 错误消息 20018,严重性 15:\n一般 SQL Server 错误:检查来自 SQL Server 的消息\n”)

my.py 文件中的代码是:

db = pymssql.connect(server='DESKTOP-3G1FB9B\SQLEXPRESS', user='sa', password='', database='Osmium')
cursor = db.cursor()
sql = "(SELECT TOP 1 * FROM delayed Order by ID ASC)"
cursor.execute(sql)

如果我删除“按 ID ASC 订购”,它执行得很好,但我需要订购结果并且无法找到解决方案。 将查询输入 SQL Server 2014 Management Studio 并添加“Osmium.dbo.delayed”它返回正确的结果,我只需要它在 Python (2.7) 脚本中工作

SELECT TOP 1 * FROM Osmium.dbo.delayed Order by ID ASC

提交这个来做出答案,并解释原因:

将您的sql变量声明更改为:

sql = "SELECT TOP 1 * FROM [delayed] ORDER BY [ID] ASC"

ORDER BY是T-SQL中的一个子句,因此不需要括号来建立任何操作顺序。 方括号可用于包围SQL Server中的某些对象以允许使用保留字(例如,如果您有一个名为[file]的列)或某些字符(如连字符)(名为[your-db的数据库) ])。

它对我有用。 当我授予更新权限时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM