gpt4 book ai didi

mysql - 这个 "no data"警告来自哪里? (光标循环)

转载 作者:行者123 更新时间:2023-11-30 01:31:49 25 4
gpt4 key购买 nike

CREATE TABLE INPUT ( NUM INT );
INSERT INTO INPUT VALUES (1);
CREATE TABLE OUTPUT ( NUM INT );

DELIMITER //

CREATE PROCEDURE TEST_LOOP()
BEGIN
DECLARE NUMBER INT;

DECLARE DONE TINYINT DEFAULT 0;
DECLARE REC CURSOR FOR SELECT NUM FROM INPUT;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET DONE = 1;

DELETE FROM OUTPUT;

OPEN REC;
L: LOOP
FETCH REC INTO NUMBER;
IF DONE = 1 THEN
LEAVE L;
END IF;

INSERT INTO OUTPUT VALUES (NUMBER);
END LOOP;
CLOSE REC;
END //

DELIMITER ;

然后我运行 CALL TEST_LOOP();,该过程按预期运行(OUTPUT 表中的一条记录),但会产生一条警告:

No data - zero rows fetched, selected, or processed.

警告从何而来?

最佳答案

实际上是an active bug in MariaDB源自 MySQL 5.5。

来自MySQL 5.5 manual ;

Before MySQL 5.6.3, if a statement that generates a warning or error causes a condition handler to be invoked, the handler may not clear the diagnostic area. This might lead to the appearance that the handler was not invoked.

关于mysql - 这个 "no data"警告来自哪里? (光标循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17357474/

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