为什么这个光标抛出#2014 - 命令不同步;你现在不能运行这个命令

问题描述 投票:0回答:0

我正在尝试一个简单的触发器来打印表的 id 但它抛出 #2014 - 命令不同步;你现在不能运行这个命令

CREATE TABLE `cursor_test` (
  `id` bigint(21),
  `name` varchar(10) DEFAULT NULL
)
DELIMITER //
CREATE PROCEDURE print_cursor_test()
BEGIN
    DECLARE temp_id INT;

    DECLARE print_test CURSOR FOR
        SELECT id FROM cursor_test;

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET @done = TRUE;

    OPEN print_test;

    read_loop: LOOP

        FETCH print_test INTO temp_id;

        IF @done THEN
            LEAVE read_loop;
        END IF;

        IF temp_id IS NOT NULL THEN
            SELECT temp_id;
        END IF;

    END LOOP;

    CLOSE print_test;

END //

DELIMITER ;

call print_cursor_test()

我在 mariaDB 10.4 上运行它并使用 myphpadmin 界面来运行它。

sql phpmyadmin mariadb mariadb-10.4
© www.soinside.com 2019 - 2024. All rights reserved.