这个代码不起作用
select pagenr into @offset from pages where id = 3;
select * from table1 limit @offset*10, 10;为了使这类代码工作,我需要使用什么SQLcode?
只使用 SQL!
请注意,
SET SQL_SELECT_LIMIT = @count 不起作用,因为我主要关心的是偏移量,而不是这样的限制。
发布于 2011-05-03 18:02:24
来自MySQL 5.5规范:
--
LIMIT子句可用于约束SELECT语句返回的行数。LIMIT接受一个或两个数值参数,它们都必须是非负整数常量,但有以下例外:
在准备好的语句中,可以使用markers.
LIMIT参数,可以使用整数值例程参数或局部变量(如MySQL 5.5.6.
)指定LIMIT参数。
因此,在存储过程中,以下内容可以工作:
DECLARE offset bigint
SELECT pagenr * 10 INTO offset FROM pages where id = 3;
SELECT * FROM table1 LIMIT offset, 10;否则,您将需要预先计算值并通过查询传递它。您应该已经知道了页面大小和页码,所以这应该不难。
https://stackoverflow.com/questions/5872667
复制相似问题