我有一个mysql数据库,我想从第5行开始获取记录。这就是我现在唱歌的目的
SELECT * FROM categories WHERE status = 1
limit 5 18446744073709551615 ORDER BY sortOrder ASC
但它给我一个错误
执行数据库查询时出错。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '18446744073709551615
ORDER BY
sortOrder ' at line 6
此外,我不确定这是否是正确的做法
由于
答案 0 :(得分:1)
您需要OFFSET
示例:
SELECT something FROM table LIMIT $limit OFFSET $offset;
//or alternatively
SELECT something FROM table LIMIT $offset,$limit;
关于你的错误:
删除号码 - 首先是什么?
你的陈述应该是:
SELECT * FROM categories WHERE status = 1
OFFSET 5 ORDER BY sortOrder ASC
答案 1 :(得分:0)
您在SQL查询中错过了逗号,
..只需将其更改为以下内容:
SELECT * FROM categories WHERE status = 1
limit 5, 18446744073709551615 ORDER BY sortOrder ASC
↑
说明:带有两个参数的LIMIT
(逗号分隔)将第一个参数作为OFFSET
,第二个作为要返回的最大行数。
或者,如果您只想获取特定记录中的所有行,则可以使用OFFSET
关键字。以下内容将从第5行开始获取行。
SELECT * FROM categories WHERE status = 1
OFFSET 5 ORDER BY sortOrder ASC
答案 2 :(得分:0)
也许您需要重新排列指令序列。 确保您的Categories表中存在'sortOrder'列。
以下查询应该有效,
Select * from Categories Where status =1
ORDER BY sortOrder ASC
Limit 4, 999980090909
如果要从5开始获取行,那么您的Limit值应该从4开始,第二个值可以是更大的数字。 希望这能帮到你!