PHPMYADMIN中的MySQL存储过程——什么也不发生

PHPMYADMIN中的MySQL存储过程——什么也不发生,mysql,stored-procedures,Mysql,Stored Procedures,我创建了这个测试程序: DELIMITER // CREATE PROCEDURE `str` (IN var1 INT) BEGIN WHILE var1 < 5 DO SELECT var1; SET var1 = var1 + 1; END WHILE; END // DELIMITER ; 分隔符// 创建过程“str”(在var1 INT中) 开始 而var1

我创建了这个测试程序:

DELIMITER //  
CREATE PROCEDURE `str` (IN var1 INT)  
BEGIN
    WHILE var1 < 5 DO
        SELECT var1;
        SET var1 = var1 + 1;
    END WHILE;
END //
DELIMITER ;
分隔符//
创建过程“str”(在var1 INT中)
开始
而var1<5
选择var1;
设置var1=var1+1;
结束时;
结束//
定界符;

当我通过phpmyadmin运行它时,什么都没有发生。没有错误,没有确认消息。如果我调用str(1),我会收到一条消息说该过程不存在。这里出了什么问题?

如果要获取
var1
的迭代值,需要
WHILE
循环之外选择
。以下内容在my MySQL安装中运行良好:

DROP PROCEDURE IF EXISTS `str`;
DELIMITER //  
CREATE PROCEDURE `str` (IN var1 INT)  
BEGIN
    WHILE var1 < 5 DO
        SET var1 = var1 + 1;
    END WHILE;
    SELECT var1;
END //
DELIMITER ;
DROP过程(如果存在)`str`;
分隔符//
创建过程“str”(在var1 INT中)
开始
而var1<5
设置var1=var1+1;
结束时;
选择var1;
结束//
定界符;

执行调用str(1)
返回
5

请注意标记是独立的。也就是说,组合标记
存储的
过程
并不意味着你在谈论存储过程。@Charles谁会谈论
存储过程