版本:1.1.9 语句: SQLUtils.parseStatements(" CREATE TABLE AUDIT.test ( ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1 ))", JdbcConstants.DB2); 异常信息: Exception in thread "main" com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'NULL GENERATED ALWAYS AS IDENTITY (', expect RPAREN, actual IDENTIFIER pos 56, line 1, column 47, token IDENTIFIER GENERATED at com.alibaba.druid.sql.parser.SQLParser.printError(SQLParser.java:284) at com.alibaba.druid.sql.parser.SQLParser.accept(SQLParser.java:292) at com.alibaba.druid.sql.dialect.db2.parser.DB2CreateTableParser.parseCreateTable(DB2CreateTableParser.java:113) at com.alibaba.druid.sql.parser.SQLStatementParser.parseCreate(SQLStatementParser.java:2025) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:161) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:72) at com.alibaba.druid.sql.SQLUtils.parseStatements(SQLUtils.java:464)
原提问者GitHub用户Iroye
可能会更有助于我为您解决这个问题。以下是一些可能导致DB2建表语句解析失败的常见原因:
缺少必要的关键字:DB2建表语句必须包含必要的关键字和语法元素,例如CREATE TABLE、列名、数据类型、约束等。如果您的建表语句缺少这些元素,则可能会解析失败。
语法错误:DB2建表语句的语法非常严格,必须按照正确的语法格式编写。如果您的建表语句存在语法错误,例如拼写错误、缺少逗号或引号等问题,则可能会解析失败。
数据类型不匹配:DB2建表语句中指定的数据类型必须与目标列的数据类型匹配。如果您尝试将不兼容的数据类型插入到目标列中,则可能会解析失败。
权限问题:如果您没有足够的权限创建表格,则可能会解析失败。请确保您具有足够的权限创建表格,并且您正在使用正确的数据库用户登录。
表格已存在:如果您尝试创建一个已存在的表格,则可能会解析失败。请确保您正在创建一个新的表格,并且该表格不存在于数据库中。
问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。