объявить myvar int (11);в MySQL подпрограмма возвращает синтаксическую ошибку - PullRequest
1 голос
/ 19 января 2011

У меня была очень длинная процедура, которая работала на предыдущем сервере. Я перенес его на новый сервер и у меня появилась ошибка синтаксиса sql.

Итак, я сделал тест:

create procedure test()
begin

declare myvar int(11);

select myvar;

end

Запустив это в mysql или в Mysql Workbench, вы должны получить синтаксическую ошибку в 11) перед;

Что происходит!

Я посмотрел ссылки на MySQL на тему, которую они говорят declare [variablename] [datatype]

Я пытался использовать другие типы данных, чтобы убедиться, что у меня все та же проблема.

Заранее спасибо за помощь.

Ответы [ 2 ]

2 голосов
/ 19 января 2011

Когда вы объявляете переменные, вы не указываете их длины. Эти числа предназначены только для определений столбцов таблицы.

Просто сделай

DECLARE myvar INT;
1 голос
/ 03 октября 2012

Кроме того, объявить будет первым оператором после начала.в противном случае это всегда даст ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...