Мне кажется, что перечисления в MySQL нарушены, по крайней мере, в версии 5.0.51a-24 + lenny5 (Debian).У меня есть простая таблица поиска, которая содержит поле enum:
CREATE TABLE `FrameworkServices` (
...
`DNSType` enum('IP','CNAME') NOT NULL,
...
)
Ad-hoc, я могу запустить следующее без проблем:
SELECT DNSType, CNameOrIP INTO @hackEnum, @ipAddress
FROM FrameworkServices WHERE FrameworkTypeId = 1 LIMIT 1;
SELECT @hackEnum, @ipAddress;
Однако, если я поставлю EXACT такой жекод в процедуре, @hackEnum возвращает пустое (не нулевое, по крайней мере, через TOAD).
Я попытался выбрать DNSType + 0, CONCAT (DNSType, '') и все остальное, что, по-видимому, является допустимым для перечисленийи результат тот же: КАЖДАЯ статья, которую я читаю, работает ad-hoc, но возвращает пустую в Процедуре!
Я даже пытался использовать локальные переменные и определять hackEnum как тот же тип ENUM.