gpt4 book ai didi

mysql - 如何在limit语句中使用用户定义变量?

转载 作者:行者123 更新时间:2023-11-29 19:16:15 25 4
gpt4 key购买 nike

我想要通用格式的分页查询,而不是硬编码,方法如下:

set @pageSize = 10; set @pageIndex = 2;

select * from city LIMIT (@pageIndex-1)*@pageSize, @pageSize;

但是 mysql 告诉我:

[Err] 1064 - 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 '(@pageIndex-1)*@pageSize, @pageSize' at line 1

这有什么问题吗?

最佳答案

您不能将用户定义的变量与 LIMIT 一起使用。

MySQL Doc says "User variables may be used in most contexts where expressions are permitted. This does not currently include contexts that explicitly require a literal value, such as in the LIMIT clause of a SELECT statement, or the IGNORE N LINES clause of a LOAD DATA statement"

但是您可以使用“用户定义函数”或“stored procedure”来实现类似的功能。 ' 或“通过计算 @rowid 并在 where 子句中使用它的纯 SQL”。

关于mysql - 如何在limit语句中使用用户定义变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42685391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com