Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mysql parser 对 Alter table add foreign key报错 #2082

Closed
long187 opened this issue Oct 31, 2017 · 6 comments
Closed

Mysql parser 对 Alter table add foreign key报错 #2082

long187 opened this issue Oct 31, 2017 · 6 comments
Labels
Milestone

Comments

@long187
Copy link

long187 commented Oct 31, 2017

ALTER TABLE test_table_normal
ADD FOREIGN KEY (stuID)
REFERENCES Persons(stuID);
com.alibaba.druid.sql.parser.ParserException: error pos 41, line 2, column 5, token FOREIGN

	at com.alibaba.druid.sql.parser.SQLExprParser.name(SQLExprParser.java:1320)
	at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.parseColumn(MySqlExprParser.java:492)
	at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseAlterTableAddColumn(MySqlStatementParser.java:3865)
	at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseAlterTable(MySqlStatementParser.java:3457)
	at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseAlter(MySqlStatementParser.java:2699)
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:189)
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:70)
	at com.alibaba.druid.sql.SQLUtils.parseStatements(SQLUtils.java:461)
wenshao added a commit that referenced this issue Oct 31, 2017
@wenshao wenshao added the Bug label Oct 31, 2017
@wenshao wenshao added this to the 1.1.6 milestone Oct 31, 2017
@wenshao
Copy link
Member

wenshao commented Oct 31, 2017

问题重现并修复,等下一个版本发布吧,如果着急可以自行编译一个版本。

mvn clean install -Dmaven.test.skip

方便说一下具体用途么?

@long187
Copy link
Author

long187 commented Nov 8, 2017

让分库分表proxy支持DDL

@wenshao wenshao closed this as completed Dec 1, 2017
@wenshao
Copy link
Member

wenshao commented Dec 2, 2017

https://github.com/alibaba/druid/releases/tag/1.1.6
问题已修复,请用新版本

@ryanwang21
Copy link

ryanwang21 commented Feb 1, 2018

CREATE TABLE `gsp_order` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `spare_num` int(11) NOT NULL COMMENT '????',

  `coupon` decimal(11,2) NOT NULL DEFAULT '0.00' COMMENT '????',

  `remark` varchar(255) DEFAULT NULL COMMENT '??',

  `creator_id` int(11) NOT NULL COMMENT '???ID',

  `last_operator` varchar(16) DEFAULT NULL COMMENT '???????',

  `createtime` datetime NOT NULL COMMENT '????',

  `updatetime` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '????????',

  `is_del` tinyint(1) NOT NULL DEFAULT '0' COMMENT '?????0????1?????',

  PRIMARY KEY (`id`),

  KEY `creator_id` (`creator_id`),

  KEY `id` (`id`,`is_del`),

  KEY `order_id` (`order_id`),

  CONSTRAINT `gsp_order2_details_ibfk_2` FOREIGN KEY (`creator_id`) REFERENCES `gsp_sys_users` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION

) ENGINE=InnoDB AUTO_INCREMENT=84608 DEFAULT CHARSET=utf8

com.alibaba.druid.sql.parser.ParserException: syntax error, expect ACTION, actual IDENTIFIER pos 1878, line 33, column 113, token IDENTIFIER NO

    at com.alibaba.druid.sql.parser.SQLExprParser.parseReferenceOption(SQLExprParser.java:2688) ~[druid-1.1.7-preview_0.jar:1.1.7-preview_0]

    at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.parseForeignKey(MySqlExprParser.java:824) ~[druid-1.1.7-preview_0.jar:1.1.7-prev

iew_0]
wen shao ,还是有外键这个问题,这个是我使用的cannal,他使用的druid-1.1.7-preview,我看到你这边是1.1.6版本支持外键。请文是因为Cannal使用的druid(1.1.7-preview)是自己限制了外键的一个版本吗
谢谢

@wenshao
Copy link
Member

wenshao commented Feb 1, 2018

@ryanwang21 问题已经修复,我争取在周末发布新版本

@wenshao wenshao modified the milestones: 1.1.6, 1.1.7 Feb 1, 2018
@wenshao wenshao reopened this Feb 1, 2018
@wenshao wenshao closed this as completed Feb 4, 2018
@wenshao
Copy link
Member

wenshao commented Feb 5, 2018

https://github.com/alibaba/druid/releases/tag/1.1.7
问题修复,请用新版本

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants