我正在尝试使用此代码在MYSQL中使用LIMIT和变量。当我使用LIMIT的简单数字时,它可以正常工作,但是当我使用变量时它就不起作用了。
SET @increment:=9;
SET @number:=1;
SET @end:=10*@number;
SET @start:=@end-@increment;
SELECT name, detail FROM tab1 LIMIT @start, @end;
当我使用下面的代码(无变量)时,它可以正常工作:
SELECT name, detail FROM tab1 LIMIT 0,10;
答案 0 :(得分:0)
值必须保持不变。
根据规范:
LIMIT子句可用于约束SELECT语句返回的行数。 LIMIT需要一个或两个数字参数,它们都必须是非负整数常量。
答案 1 :(得分:0)
我正在以这种方式使用。也许它会帮助你。
SET @increment:=4;
SET @number:=1;
SET @end:=5*@number;
SET @start:=@end-@increment;
PREPARE stmt FROM 'SELECT @i := total, user FROM logintable LIMIT ?,?';
EXECUTE stmt USING @start, @end;
SELECT @i AS result;