欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > mysql | limit X, -1 早已不可使用,本身也是一个错误

mysql | limit X, -1 早已不可使用,本身也是一个错误

2025/2/5 6:20:17 来源:https://blog.csdn.net/LHJCSDNYL/article/details/143996325  浏览:    关键词:mysql | limit X, -1 早已不可使用,本身也是一个错误

一、背景

需求:使用 mysql 时,需要获取第 X 条数据之后的所有数据。

这时,首先想到的就是利用 limit 来实现。

早期的部分文章或者资料中,提到可以使用:

limit X,-1

例如,获取第一条后的所有数据,则可写成如下 sql 语句:

 select * from per_data limit 1,-1;

执行该 sql 语句后,会发现报错如下:

图片

错误提示原文:ERROR 1064 (42000): 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 '-1' at line 1

二、错误原因及解决办法

(一)错误原因

据官方解释,limit X, -1 这种形式被认为是一个优先级较低的 bug ,已经被修复,修复后的 limit ,将不再接收负数,两个参数都必须大于或等于 0 。

图片

上图原文链接:https://bugs.mysql.com/bug.php?id=2037

(二)解决办法

任意填写一个满足需求的大正数即可。

比如,示例表 per_data 中一共有 6 条数据,要求是获取第一条后的所有数据。

语法:【limit 1,count】 ,其中 count 可以是 [5,+∞)中的任意一个数。

完整语句如下:

select * from per_data limit 1,5;#这里的5可替换成任意一个大于5的数字

图片

以上就是 mysql 中获取偏移量后所有数据的相关问题,可供参考。

-end-

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com