mysql 中limit 参数限定为常量。。。。但我需要使用变量啊。怎么办?
时间:2011-10-19
来源:互联网
SQL code
134 DROP PROCEDURE IF EXISTS `queryAuxMat`$$ 135 CREATE PROCEDURE queryAuxMat(IN _start INTEGER,IN _size INTEGER) 136 BEGIN 137 SELECT * FROM tb_supply_deman 138 INNER JOIN ( 139 SELECT * FROM tb_aux_mat_info LIMIT 0,10 140 ) as tmep ON 141 tb_supply_deman.info_uuid = tmp.join_uuid; 142 143 SELECT count(uuid) AS rows_count FROM tb_aux_mat_info; 144 END$$
139行的limit我需要使用变量,怎么办?
在线等,,,,,急,,,,
如果使用limit不能实现分页查询,有没有其他方法可以实现啊?procedure的参数不变的情况下实现分页查询。
作者: aeolus_boy 发布时间: 2011-10-19
SELECT * FROM tb_aux_mat_info LIMIT (pageNo - 1) * pageUnit, pageUnit;
作者: zysnba 发布时间: 2011-10-19
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表的数据,size是条件,放在limit里,这里用做是变量
SQL code
CALL GetUser(2);
执行这个存储过程,传一个2给他,那么查询出来的就有两条数据了
楼主再试试
作者: laughing__ 发布时间: 2011-10-19
你可以传个动态的变量直啊
SELECT * FROM tb_aux_mat_info LIMIT (pageNo - 1) * pageUnit, pageUnit;
作者: aeolus_boy 发布时间: 2011-10-19
我废话不多说了哦,直接写了个案例给你看看
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
作者: aeolus_boy 发布时间: 2011-10-19
楼主试试这样行吗?
作者: wei13636075 发布时间: 2011-10-19
作者: cbxjj 发布时间: 2011-10-19
作者: lianjiaying 发布时间: 2011-10-19
sql = "select * from goods limit " + pageSize*(pageNow-1) + "," + pageSize
楼主试试这样行吗?
不行
作者: aeolus_boy 发布时间: 2011-10-19
作者: aeolus_boy 发布时间: 2011-10-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28