当前位置:编程学习 > JAVA >>

mysql 中limit 参数限定为常量。。。。但我需要使用变量啊。怎么办?

--------------------编程问答-------------------- 你可以传个动态的变量直啊
 SELECT * FROM tb_aux_mat_info LIMIT (pageNo - 1) * pageUnit, pageUnit; 
--------------------编程问答-------------------- 我废话不多说了哦,直接写了个案例给你看看

DROP PROCEDURE IF EXISTS `GetUser`;
CREATE  PROCEDURE `GetUser`(size INT)
begin
SELECT * from tig_users WHERE 1=1 LIMIT  0,size;
end;


在MySql里查询tig_users表的数据,size是条件,放在limit里,这里用做是变量


CALL GetUser(2);


执行这个存储过程,传一个2给他,那么查询出来的就有两条数据了

楼主再试试
--------------------编程问答--------------------
引用 1 楼 zysnba 的回复:
你可以传个动态的变量直啊
 SELECT * FROM tb_aux_mat_info LIMIT (pageNo - 1) * pageUnit, pageUnit;
不能为表达式 --------------------编程问答--------------------
引用 2 楼 laughing__ 的回复:
我废话不多说了哦,直接写了个案例给你看看
SQL code

DROP PROCEDURE IF EXISTS `GetUser`;
CREATE  PROCEDURE `GetUser`(size INT)
begin
    SELECT * from tig_users WHERE 1=1 LIMIT  0,size;
end;



在MySql里查询tig_users表的数据,……
行不通,
可能是版本问题。我的是:
mysql  Ver 14.14 Distrib 5.1.56, for redhat-linux-gnu (i386) using readline 5.1 --------------------编程问答-------------------- sql = "select * from goods limit " + pageSize*(pageNow-1) + "," + pageSize
楼主试试这样行吗?  --------------------编程问答-------------------- 没用过存储过程做分页 --------------------编程问答-------------------- 可以在 外面 计算好 之后! 再传参数 进去! 那样可以计算了!也不是公式! --------------------编程问答--------------------
引用 5 楼 wei13636075 的回复:
sql = "select * from goods limit " + pageSize*(pageNow-1) + "," + pageSize
楼主试试这样行吗?

不行 --------------------编程问答-------------------- 不行啊啊啊
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,