gpt4 book ai didi

mysql - 如何对过程的输入使用 limit

转载 作者:行者123 更新时间:2023-11-29 06:15:46 25 4
gpt4 key购买 nike

我想在 limit 中使用 pollNo,但出现错误:

error :Script line: 4 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 'pollNo,1 )as A join poll_data on A.id=poll_data.poll_id;

END' at line 6

DELIMITER $$

DROP PROCEDURE IF EXISTS `prj`.`ret_poll` $$
CREATE PROCEDURE `prj`.`ret_poll` (IN pollNo int)
BEGIN
select * from
(select * from poll limit pollNo,1 )as A
JOIN poll_data
on A.id=poll_data.poll_id;

END $$

DELIMITER ;

最佳答案

您使用的 MySQL 版本是什么?我认为这在 5.5 及更高版本中已修复,但之前的版本需要解决方法,因为它们需要整数常量或准备好的语句。

因此,在 5.5 之前,您应该能够执行以下操作;

DELIMITER $$

DROP PROCEDURE IF EXISTS `prj`.`ret_poll` $$
CREATE PROCEDURE `prj`.`ret_poll` (IN pollNo int)
BEGIN
PREPARE STMT FROM "select * from (select * from poll limit ?,1 ) as A join poll_data on A.id=poll_data.poll_id";
SET @start = pollNo;

EXECUTE STMT USING @start;

END $$

DELIMITER ;

您可以在这里阅读更多相关信息:http://bugs.mysql.com/bug.php?id=11918

关于mysql - 如何对过程的输入使用 limit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6640499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com