PhpStorm数据编辑器控制台窗口中的MySQL更改分隔符

时间:2018-09-05 11:23:53

标签: mysql phpstorm datagrip

如何使PhpStorm数据编辑器识别DELIMITER \\

方案:我打开了一个控制台,并且想创建一个在函数中定义了;的函数。

执行时,函数创建在;存在的第一行失败。

查询就像这样

DELIMITER //
create function blah (datablah varchar(200)) returns tinyint(1)
  BEGIN
   Return tinyintVar;
  END //
DELIMITER ;

该功能也可以在生产中按预期方式工作,我想将其复制到开发数据库中。这就是为什么我知道错误是由定界符引起的。

但这不是我第一次尝试在具有其他功能的开放式控制台中执行此操作。在数据编辑器控制台中执行此SQL内联时,它只是不会检测或确认DELIMITER关键字。即使我只是在DELIMITER \\的行上使用 Ctrl + Enter 运行,我也会收到消息“什么也不能运行”。

注意:如果我有一个.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

在屏幕截图中,您会注意到execute组没有在定界符关键字周围放置绿色框。这就是为什么我认为它无法识别关键字的原因。

1 个答案:

答案 0 :(得分:2)

由于有一个功能请求要实现,所以我会说它不受支持。

DBE-2968:Ability to configure SQL Statement delimiter/terminator