一尘不染

将LIMIT作为参数传递给MySQL sproc

mysql

我正在创建一个分页类,需要将两个参数传递给我的LIMIT子句的MySQL存储过程。

我将它们作为INT传递给我,并尝试这样的事情

SELECT *
FROM
`MyTable`
LIMIT
MyFirstParamInt, MySecondParamInt

但是,当我尝试保存该存储过程时,它给了我一个错误。有什么方法可以让我错过吗?还是我必须评估整个查询并执行它?


阅读 542

收藏
2020-05-17

共1个答案

一尘不染

在5.5.6之前的版本中,LIMIT无法在MySQL存储过程中进行参数化。您需要动态构建查询并执行它。

在5.5.6及更高版本中,只要将存储的procs参数作为参数传递给即可LIMITOFFSET只要它们是即可INTEGER

2020-05-17