Разделитель изменений MySQL в окне консоли редактора данных PhpStorm - PullRequest
0 голосов
/ 05 сентября 2018

Как заставить редактор данных 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

На скриншоте вы заметите, что группа выполнения не поместила зеленую рамку вокруг ключевых слов разделителя. Вот почему я думаю, что оно не распознает ключевое слово.

1 Ответ

0 голосов
/ 08 октября 2018

Поскольку есть запрос Feature для его реализации, я скажу, что он не поддерживается.

DBE-2968: Возможность настройки разделителя / терминатора оператора SQL

...