2013-03-17 4 views
1

Я пытаюсь сделать простой тест в то время как цикл в хранимой процедуре из этого tutorial я столкнулся эту ошибкуОшибка: Неизвестный CNT Колонка в «список полей» MySQL - хранится preocedure

Unknown Column cnt in 'field list' 

здесь является зр, может ли кто-нибудь помочь?

DELIMITER $$ 

CREATE PROCEDURE `WhileLoopProc`() 

BEGIN 

    DECLARE cnt INT DEFAULT 1; 

    DECLARE str VARCHAR(255) DEFAULT ''; 

    WHILE cnt  < 10 DO 

     SET str = CONCAT(str,cnt,','); 

     set cnt = cnt + 1 ; 

    END WHILE; 
SELECT str; 

END $$ 
DELIMITER ; 
+1

Но он отлично работает [** здесь **] (http://www.sqlfiddle.com/#!2/8297d/2)? –

+0

Mmm Версия MySQL у меня была 5.5.16, вы думаете, что это проблема версий? – palAlaa

+0

Как вы называете эту процедуру? – eggyal

ответ

2

У вас есть пробел не-брейк (U + 00A0) сразу же после того, как ваше имя переменной в следующей строке:

WHILE cnt < 10 DO 
      ^--- this is U+00A0 

MySQL не распознает такие символы, как пробелы, а скорее как часть от имени переменной.

+0

Невероятная проблема и невероятное решение проблем. Благодарю за помощь – palAlaa

Смежные вопросы