2013-05-09 127 views
0

我有一個簡單的遊標,用於獲取表的主鍵。仔細查看結果,獲取的主鍵列的每個值都爲空。如果我將遊標的查詢作爲獨立查詢運行,它會正確地返回結果。此表引用我的帳戶表與它的主鍵值。如果我將「SELECT PrimaryKeyId」更改爲「SELECT AccountId」,它會正確地獲取該字段的值。MySql遊標FETCH不返回主鍵字段

我在這裏錯過了什麼?

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; 
+0

什麼是'TestTableId'字段類型? – 2013-05-09 04:00:57

回答

1

繁榮!

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

我一直忘了我開發在Windows環境下MySQL數據庫,注意區分,即使是隻有在Linux環境中應用的靈敏度。

查詢:

DECLARE testtableid INT; 
SELECT TestTableId FROM testable 

當在區分大小寫環境不執行,選擇相同的,不區分大小寫名稱的本地變量。由於未申報,此值爲NULL。

我放棄了這一點,希望有一天我能爲別人節省一個小時的挫折感。 :)