SQL限制不起作用:什么是正确的语法?

时间:2017-02-10 13:41:58

标签: sql

我有一个简单的问题,如果这太基础,我会提前感到抱歉。我正在使用

连接到远程数据库
import pyodbc
import pandas as pd
import numpy as np

cnxn = pyodbc.connect('DSN=MYDSN')

我可以使用

提取一些数据
sql = "SELECT * FROM MASTER.PRICES"
dataframe = pd.read_sql(sql, cnxn)

但是,使用查询

sql = "SELECT * FROM MASTER.PRICES LIMIT 10"
sql = "SELECT * FROM MASTER.PRICES where ROWNUM <= 10"

给出错误,例如

  

无法解析查询文本:找到“SELECT”附近的语法错误   “10”。

用于第一个查询。

我的问题是:

  • 没有关于数据库的进一步信息,我怎么知道LIMIT语句的正确语法是什么?
  • 我怎么能知道我访问的是哪种数据库?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为你在寻找错误的地方。

是的,最好在ORDER BY之前使用LIMIT,但在MySQL上并不严格要求。但是,这并不能解释语法错误。

语法错误表明在不同的方向出现问题。请注意,它靠近SELECT而不是LIMIT附近,这让我想知道您是否以一种您没有告诉我们的方式汇总了您的查询。

也许你复制并粘贴了一些内容并获得了一个有趣的unicode字符而不是空格?但是我没有看到你从纯粹的语法方式使用LIMIT的方式有任何问题,我敢打赌,如果你在mysql客户端中输入它,你就不会出现语法错误。