您的位置:首页 > 数据库 > MySQL

MYSQL中存储过程中写入分页查询----深坑

2017-10-22 20:42 197 查看
 create PROCEDURE test1(curruentPage int,pageSize int,tableName VARCHAR(20))

BEGIN

 set @pageindex:=(curruentPage-1)*pageSize;

‘select * from  ’+tableName +‘ limit ’+@pageindex+‘,’+pageSize ;

 END

存储过程test1中我们把传入的表名放入字符串中进行+拼接,

数据库不能正常执行

create PROCEDURE test2(curruentPage int,pageSize int,tableName VARCHAR(20))

BEGIN

set @pageindex:=(curruentPage-1)*pageSize;

SET @str=CONCAT('select * from   ',tableName,'  limit  ',@pageindex,',',pageSize);

PREPARE str from @str;

EXECUTE str;
END

test2中换成concat('str1','str2',...)拼接

预编译

执行

ok!传入当前页数,页面size,以及表名 可以执行分页查询,后台java代码只需要调用存储过程test2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: