mysql - 将 LIMIT 作为参数传递给 MySQL sproc

标签 mysql stored-procedures sql-limit

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

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

SELECT *
FROM
`MyTable`
LIMIT
MyFirstParamInt, MySecondParamInt

不过,当我尝试保存存储过程时,它给了我一个错误。有没有办法做到这一点,我只是想念?还是我必须评估整个查询并执行它?

最佳答案

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

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

关于mysql - 将 LIMIT 作为参数传递给 MySQL sproc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36599103/

相关文章:

c# - 如何将简单日期从文本框转换为mysql中的日期时间?

asp.net - 如何在 mysql 查询中用“替换”?

sql - 如何从 CSV 获取 SQL LOAD DATA 以在加载时遵循列类型?

MySQL CREATE FUNCTION 语句似乎忽略了 WHERE 条件

postgresql - 使用 regclass 的动态 SQL 的意外行为

MySQL – JOIN 自动执行不相关的SELECT 表达式

mysql - SQL 连接和多重计数(*)?

sql - 如何在条件语句中设置 LIMIT;后置数据库

mysql - 内连接语句限制在三个表之一

sql - 动态 sql 与存储过程 - 优缺点?