如何让phpstorm数据编辑器识别 DELIMITER \\
?
场景:我打开了一个控制台,我想在其中创建一个函数 ;
在函数中定义。
在执行时,函数create在第一行失败,其中 ;
存在。
问题是这样的
DELIMITER //
create function blah (datablah varchar(200)) returns tinyint(1)
BEGIN
Return tinyintVar;
END //
DELIMITER ;
这个函数在生产环境中也能正常工作,我想把它复制到devdb中。这就是为什么我知道错误是由于分隔符引起的。
但这并不是我第一次尝试在一个开放的控制台中使用另一个函数来实现这一点。在数据编辑器控制台内联执行此sql时,它不会检测或确认 DELIMITER
关键字。即使我只是用ctrl+enter在 DELIMITER \\
我得到的信息是“没什么可跑的”。
注意:如果我有一个 .sql
文件,我只是执行文件。但当前的工作流程是突出显示livedb中的函数,打开editor查看create函数代码,然后复制并粘贴到当前打开的控制台窗口中。
所以,只有这样 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
截图
从屏幕截图中,您会注意到execute组没有在分隔符关键字周围放置绿色框。这就是为什么我认为它不能识别关键字。
1条答案
按热度按时间ie3xauqp1#
因为有一个功能要求实现它,我会说它不受支持。
dbe-2968:能够配置sql语句分隔符/终止符