linux中导入sql脚本报错,分析下原因。

问题遇到的现象和发生背景

linux中导入sql脚本报错,分析下原因,报错的原因看起来是跟DELIMITER有关系

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

sql脚本内容如下:

DROP PROCEDURE IF EXISTS `updatemaster`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `updatemaster`()
  BEGIN
    IF (fn_ifEncryptTable('mserver_gb_channel_device_master') = 1) THEN
       ALTER TABLE mserver_gb_channel_device_master_encrypt ADD INDEX GroupId_Status_IDX(GroupId,LabelStatus);
    ELSE
           ALTER TABLE mserver_gb_channel_device_master ADD INDEX GroupId_Status_IDX(GroupId,LabelStatus);
    END IF;
  END;;
DELIMITER ;

call updatemaster();

DELIMITER;;

DROP PROCEDURE IF EXISTS `updatemaster`;
DELIMITER ;

在linux中导入报错如下

mysql> source ceshi.sql
Query OK, 0 rows affected (0.01 sec)

Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

ERROR: 
DELIMITER must be followed by a 'delimiter' character or string
ERROR: 
No query specified

Query OK, 0 rows affected (0.00 sec)


运行结果及详细报错内容

linux中导入sql脚本报错,分析下原因,报错的原因看起来是跟DELIMITER有关系

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

linux中导入sql脚本报错,分析下原因,报错的原因看起来是跟DELIMITER有关系

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

这文章由此故障详细情况:http://blog.itpub.net/7728585/viewspace-2125602/

DELIMITER 后面的;;解析了,把;;转变为$$ 就好了。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Linux sql语句

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^