MySQL存储过程,多个选择只返回一行?
我一直在开发一个在循环中运行select语句的存储过程 通过mysqli或phpmyadmin查看结果时,我只收到一行。我需要做什么才能返回多行 这里有一个非常简单的例子来说明我的问题MySQL存储过程,多个选择只返回一行?,mysql,select,stored-procedures,Mysql,Select,Stored Procedures,我一直在开发一个在循环中运行select语句的存储过程 通过mysqli或phpmyadmin查看结果时,我只收到一行。我需要做什么才能返回多行 这里有一个非常简单的例子来说明我的问题 DROP PROCEDURE IF EXISTS simple // CREATE PROCEDURE simple() BEGIN DECLARE c INT(10); SET c = 1; REPEAT SELECT c; SET c = c + 1; UNTIL c >= 10 END
DROP PROCEDURE IF EXISTS simple //
CREATE PROCEDURE simple()
BEGIN
DECLARE c INT(10);
SET c = 1;
REPEAT
SELECT c;
SET c = c + 1;
UNTIL c >= 10 END REPEAT;
END //
我认为处理这个问题的最佳方法实际上是将输出存储到一个临时表中,然后在while循环结束时进行最终选择
DROP PROCEDURE IF EXISTS simple //
CREATE PROCEDURE simple()
BEGIN
CREATE TEMPORARY TABLE output (finalC INT(10));
DECLARE c INT(10);
SET c = 1;
REPEAT
INSERT INTO output SELECT c;
SET c = c + 1;
UNTIL c >= 10 END REPEAT;
SELECT * FROM output;
END //