mysql - MySql 中的分隔符错误

标签 mysql ant delimiter

我正在使用以下 sql:

DELIMITER $$

DROP PROCEDURE IF EXISTS `get_auto_increment_settings`$$

CREATE PROCEDURE `get_auto_increment_settings`()
BEGIN   
    select @@global.auto_increment_offset as 'offset', @@global.auto_increment_increment as 'increment' ;

END $$
DELIMITER ;

我将它存储在 db_auto_increment_settings_procedure.sql 中,当我尝试从 ant 执行它时,我遇到了以下错误:

[sql] Executing resource: /mysql/install/db_auto_increment_settings_procedure.sql
[sql] Failed to execute:  DELIMITER
[sql] com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 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 'DELIMITER' at line 1
[sql] Failed to execute:  DELIMITER ;
[sql] com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 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 'DELIMITER' at line 1

最佳答案

分隔符仅供 mysql 客户端使用(不用于 API、驱动程序...等)。
所以,它不会起作用。

查看您的错误消息:-

[sql] Executing resource: /mysql/install/db_auto_increment_settings_procedure.sql  
[sql] Failed to execute:  DELIMITER

很确定这将在 linux 系统中工作

mysql -u root -pxxx -h yyy < YOUR_SQL.sql

如果适用,您只需使用 mysql 客户端手动创建存储过程,
并且是一个简单的解决方案。

如果需要动态创建,
该文档可能会提供一些洞察信息
http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-basic.html

关于mysql - MySql 中的分隔符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8504325/

相关文章:

java - 为 giraph 运行 hive 作业以进行图形分析时出现问题

java - 使用 Java 1.6 在 Eclipse Mars 上运行 Ant

java - 按部分已知分隔符分割线

python - 如何在 python 中编写没有任何定界符的文本文件?

c++ - getline() 分隔符问题

java,mysql - 为什么不能从一个表中获取最后插入的 id 并将其再次插入到另一个表中?

mysql - MySQL 中如何查看哪些表没有索引

java - 通过 Java 以编程方式运行 ANT

javac:无效的目标版本:1.7

mysql - 空搜索错误处理