开发者社区> 问答> 正文

语法解析,DB2 建表语句解析失败

版本: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

展开
收起
山海行 2023-07-05 19:57:32 79 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    可能会更有助于我为您解决这个问题。以下是一些可能导致DB2建表语句解析失败的常见原因:

    缺少必要的关键字:DB2建表语句必须包含必要的关键字和语法元素,例如CREATE TABLE、列名、数据类型、约束等。如果您的建表语句缺少这些元素,则可能会解析失败。

    语法错误:DB2建表语句的语法非常严格,必须按照正确的语法格式编写。如果您的建表语句存在语法错误,例如拼写错误、缺少逗号或引号等问题,则可能会解析失败。

    数据类型不匹配:DB2建表语句中指定的数据类型必须与目标列的数据类型匹配。如果您尝试将不兼容的数据类型插入到目标列中,则可能会解析失败。

    权限问题:如果您没有足够的权限创建表格,则可能会解析失败。请确保您具有足够的权限创建表格,并且您正在使用正确的数据库用户登录。

    表格已存在:如果您尝试创建一个已存在的表格,则可能会解析失败。请确保您正在创建一个新的表格,并且该表格不存在于数据库中。

    2023-07-30 15:06:41
    赞同 展开评论 打赏
  • 问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14

    原回答者GitHub用户wenshao

    2023-07-06 11:16:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像