MySQL 通用的分页(存储过程)
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `person`.`pro_1`(
IN tabled NVARCHAR(30),#表名称
IN named NVARCHAR(20),#名称
IN page INT ,#页码数
IN rowe INT ,#页数
)
BEGIN
IF (page<1) THEN
SET page=1;#判断页码数是不是小于一,如果是,那就等于一
#总不可能有-1页吧
END IF;
IF (rowe <1) THEN
SET rowe=5;#判断页数是否小于一 如果是,那就等于五;
#这个是相当于显示多少条数据
END IF;
SET @page=CONCAT('select ',named,' from ' ,tabled,' limit ',page-rowe*rowe,',',rowe);
PREPARE r FROM @page;
EXECUTE r;
END$$
DELIMITER ;
然后调用存储过程 例:call pro_1('person','*',0,1);
结果如下:
tips:如果大家还有更容易的可以留言哦!