mysql limit后接变量
时间: 2023-08-28 19:23:13 浏览: 190
MySQL的LIMIT后面只能加常数,不能直接加变量。如果在存储过程中使用LIMIT并且想要使用变量,可以使用动态SQL来执行。首先声明一个变量,然后使用CONCAT函数将LIMIT语句中的常数替换为变量。接着将动态SQL存储到一个变量中,使用PREPARE语句准备执行动态SQL,最后使用EXECUTE语句执行动态SQL。例如,可以使用以下代码来实现这个功能:
```
DECLARE var_num1 INT;
DECLARE var_sql VARCHAR(1024);
SET var_num1 = 10;
SET var_sql = CONCAT("SELECT * FROM test1 LIMIT ", var_num1, " ;");
SET @exec_sql = var_sql;
PREPARE sql1 FROM @exec_sql;
EXECUTE sql1;
```
这样就可以在存储过程中使用变量来设置LIMIT的值了。请注意,这个方法只适用于MySQL 5.5以下的版本。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [MySQL limit后面加变量](https://blog.csdn.net/weixin_40649680/article/details/114069862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [详解mysql的limit经典用法及优化实例](https://download.csdn.net/download/weixin_38738977/12833523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文