Mariadb 5.5, СОЗДАТЬ ИЛИ ЗАМЕНИТЬ, не работает - PullRequest
0 голосов
/ 31 мая 2018

У меня есть некоторые ФУНКЦИИ и ПРОЦЕДУРЫ в 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.

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