Интересный баг mysql

Официальный логотип Mysql

По долгу службы пришлось мне отправиться в длительную поездку. Компьютер с собой не возьмешь, и поэтому приспичило меня залить дамп базы Mysql на ноутбук с OpenSuSe 11.0. Dump отказался заливаться, ругнулся вот так:

ERROR 1221 (HY000) at line 3: Incorrect usage of UNION and INTO

Код хранимой функции был чистый, давным-давно вылизанный и ошибок в нем не было. Выяснилось, что на старых версиях mysql может не работать вот такая конструкция:

select 1 into @`avar` from (select 1 union select 1) `a`;

хотя сам запрос:

select 1 from (select 1 union select 1) `a`;

синтаксически правильный и имеет право на жизнь. Баг в конце концов поправили (подробности здесь), но в стандартных репозиториях OpenSuSe 11.0 (OSS, Non-OSS, Debug и Updates) версия mysql осталась старая, с багом.

Проблема лечится подключением репозитория MySQL и обновлением до последней версии сервера mysql.

Оставить комментарий

Почта (не публикуется) Обязательные поля помечены *

*

Вы можете использовать эти HTML теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>