0

我有一个简单的游标来获取表的主键。查看结果,获取的主键列的每个值都是空的。如果我将游标的查询作为独立查询运行,它会正确返回结果。此表引用我的 Account 表及其主键值。如果我将“SELECT PrimaryKeyId”更改为“SELECT AccountId”,它会正确获取该字段的值。

我在这里想念什么?

DECLARE testtableid INT UNSIGNED;
DECLARE accountid INT UNSIGNED DEFAULT getAccountId(inUserLoginId);
DECLARE cur CURSOR FOR SELECT TestTableId
                                 FROM testtable
                                WHERE AccountId = accountId;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

OPEN cur;    

named_loop: LOOP

    FETCH cur INTO testtableid ;

    IF done
    THEN
        LEAVE named_loop;
    END IF;
END named_loop;

CLOSE cur;
4

1 回答 1

1

繁荣!

http://bugs.mysql.com/bug.php?id=28227

我一直忘记我是在 Windows 环境中开发 MySql 数据库,注意区分大小写,即使这仅适用于 Linux 环境。

查询:

DECLARE testtableid INT;
SELECT TestTableId FROM testable

当不在区分大小写的环境中执行时,选择相同的、不区分大小写名称的局部变量。此值为 NULL,因为它未声明。

我把它留下来,希望有一天我可以为某人节省一个小时的挫败感。:)

于 2013-05-09T04:01:01.117 回答