В mariadb, как использовать имя параметра, которое начинается с подчеркивания?
У меня есть приложение на базе MySql, которое отлично работает. Он использует хранимые процедуры, и все имена параметров начинаются с подчеркивания _
Мой хостинг-провайдер недавно "обновил" мою базу данных разработки с MySql до MariaDB, заявив о 100% совместимости. Теперь я даже не могу войти в систему разработки, получая сообщение об ошибке, что первый названный параметр "неизвестен". Тестирование показывает, что если я изменю все имена параметров на start @ вместо_, то все будет работать нормально.
Однако сделать это означало бы обновить десятки хранимых процедур и сотни строк кода, что повлияло бы на живые системы клиента и, вероятно, потребовало бы некоторого времени простоя.
В долгосрочной перспективе я брошу хостинг-провайдера, который сделал это изменение без предупреждения или уведомления и отказывается признать, что MariaDB и MySql-это не одно и то же.
В краткосрочной перспективе, чтобы позволить мне продолжить тестирование разработки на базе данных MariaDB, есть ли обходной путь, который позволит мне объявить параметр для каждой процедуры или, на худой конец, изменить каждую ссылку на параметр в процедуре, не переименовывая все параметры?
Что я уже пробовал:
Переименование всех параметров (например, _ID в @ID) работает, но не является приемлемым решением.
Я пробовал экранировать все имена параметров в хранимой процедуре (например, `_ID`), но это не решает проблему; все равно получаю
SQL Error (1054): Unknown column '_ID' in 'field list'Упрощенная версия ИП:
CREATE PROCEDURE `spUserLoad`( IN `_ID` INT, IN `_UserName` VARCHAR(50) ) BEGIN SELECT * FROM tUser WHERE `_ID` = ID OR (`_ID` = 0 AND UserName = `_UserName`); END