请教linux下mysql 存储过程的报错问题

xiaoshen07 2013-12-01 11:10:10
CREATE PROCEDURE proc_getBBSParentLst(IN rootId INT,IN m INT,IN n INT)
BEGIN
select * from CXTABLE_BBS
where FIND_IN_SET(id, getBBSParentLst(rootId))
order by dateline desc limit m,n;
END
//

在 windows下,可以正常运行,但是在linux下一直提示:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'm,n;
END' at line 5
如果m,n都改成10这样的数字,就可以执行通过,请问是怎么回事? 谢谢。
...全文
116 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
郑燕辉 2013-12-02
  • 打赏
  • 举报
回复
limit 是不支持参数的,只能使用动态SQL执行才行
ACMAIN_CHM 2013-12-01
  • 打赏
  • 举报
回复
limit m,n; 以前的版本是不支持的,比较一下你的MYSQL版本。 select version();
rucypli 2013-12-01
  • 打赏
  • 举报
回复
limit要是动态传入参数的话 得拼动态sql 用PREPARE EXECUTE

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧