使用变量mysql无法正常工作?

时间:2018-07-31 21:00:48

标签: mysql

它不喜欢下面的limit行。在这种情况下,如何使用变量@row来限制结果集?

SELECT @row := 5;
SELECT * FROM MyTable
limit @row

错误:

  

意外的“ @行”

2 个答案:

答案 0 :(得分:2)

  

LIMIT子句可用于限制返回的行数   通过SELECT语句。 LIMIT接受一两个数字参数,   必须都是负整数常量 https://dev.mysql.com/doc/refman/8.0/en/select.html

所以

SELECT * FROM MyTable  
limit 5

答案 1 :(得分:0)

您可以使用准备好的语句...

SET @row = 5;
SET @s = CONCAT('SELECT * FROM MyTable LIMIT ', @row);
PREPARE stmt FROM @s;
EXECUTE stmt;