У меня есть некоторые ФУНКЦИИ и ПРОЦЕДУРЫ в mysql Ver 15.1 Distrib 10.1.23-MariaDB, for Linux (x86_64) using readline 5.1
.Код для них выглядит так:
CREATE OR REPLACE DEFINER=`root`@`%` FUNCTION `some_name`(_IN_FECHA_PROYECCION date) RETURNS double
BEGIN, etc...
END
Все идет хорошо, когда я создаю эти функции или процедуры через командную строку с Laravel (php artisan migrate).Но когда я сделал это на другой машине с mysql Ver 15.1 Distrib 5.5.59-MariaDB, for Linux (x86_64) using readline 5.1
, mysql возвращает мне ошибки типа:
SQLSTATE[42000]: Syntax error or access violation: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version
for the right syntax to use near '=`root`@`localhost` FUNCTION `some_name`(_IN_FECHA_PROYECCION da'
at line 1 (SQL: REPLACE DEFINER=`root`@`%` FUNCTION `some_name`(_IN_FECHA_PROYECCION date) RETURNS double
BEGIN, etc...
END
Ну, я удалил «ИЛИ ЗАМЕНИТЬ» из кода, и теперь MariaDB 5.5 не имеет проблем с созданием процедур /функции.Итак, мой вопрос, в чем проблема с REPLACE на MariaDB 5.5?Я ничего не нашел в документах MariaDB.