mysql limit 附近老是报错,求帮助!

jobhermit 2016-04-28 11:16:33
select distinct from_user, realname, mobile from `testtable`
where id = '2' and storeid ='5' LIMIT (1-1)*10,10


报错信息为:
---------------------------
错误
---------------------------
SQL 执行错误 # 1064. 从数据库的响应:

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 '(1-1)*10,10' at line 2
---------------------------
确定
---------------------------

求教,这个是什么原因?
...全文
296 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvchenotl 2016-04-28
  • 打赏
  • 举报
回复
引用 1 楼 yupeigu 的回复:
limit 后面是不能做计算的,只能直接写 limit xx
+1,报错信息明显是说你sql语句写的有问题
zhu19774279 2016-04-28
  • 打赏
  • 举报
回复
在外部程序计算好,然后再传给MySQL吧
  • 打赏
  • 举报
回复
limit 后面是不能做计算的,只能直接写 limit xx
gikod 2016-04-28
  • 打赏
  • 举报
回复
用动态SQL应该可以办到,大概是这样 set @ms=concat ('select distinct from_user, realname, mobile from testtable where id = ? and storeid = ? LIMIT ', (1-1)*10, ',10'; set @p1 = '2'; set @p2 = '5'; PREPARE s1 from @ms; EXECUTE s1 USING @p1, @p2; deallocate prepare s1;

56,677

社区成员

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

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