Как заставить редактор данных PhpStorm распознавать DELIMITER \\
?
Сценарий: у меня открыта консоль, и я хочу создать функцию, в которой у меня определено ;
.
При выполнении функция create завершается ошибкой в первой строке, где существует ;
.
Запрос похож на
DELIMITER //
create function blah (datablah varchar(200)) returns tinyint(1)
BEGIN
Return tinyintVar;
END //
DELIMITER ;
Эта функция также работает как задумано, так как она находится в производстве, и я хочу скопировать ее в базу данных разработчиков. Вот почему я знаю, что ошибка связана с разделителем.
Но я не первый раз пытаюсь сделать это в открытой консоли с другой функцией. При выполнении этого встроенного SQL в консоли редактора данных он просто не обнаруживает и не подтверждает ключевое слово DELIMITER
. Даже если я просто запускаю с Ctrl + Enter в строке с DELIMITER \\
, я получаю сообщение «ничего не запускается».
Примечание: это будет работать, если у меня есть файл .sql
, и я просто запустил файл. Но текущий рабочий процесс заключается в выделении функции из активной БД, открытии редактора для просмотра кода создания функции и затем копирования + вставки в открытое окно консоли, которое у меня в данный момент открыто.
Итак, единственный способ получить DELIMIER
распознанный файл - это выполнить файл .sql
?
PhpStorm 2018.2.2
Ошибка
[2018-09-05 12:07:33] [42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(19), endPeriod DATETIME(19)) returns tinyint(1)
[2018-09-05 12:07:33] BEGIN
[2018-09-05 12:07:33] DECLARE live BOOLEA' at line 1
скриншот
![enter image description here](https://i.stack.imgur.com/wORzk.png)
На скриншоте вы заметите, что группа выполнения не поместила зеленую рамку вокруг ключевых слов разделителя. Вот почему я думаю, что оно не распознает ключевое слово.