H2 DB:“CROSS”是 H2 使用的特殊关键字,以避免在创建表语句中使用?
Posted
技术标签:
【中文标题】H2 DB:“CROSS”是 H2 使用的特殊关键字,以避免在创建表语句中使用?【英文标题】:H2 DB: is "CROSS" a special keyword used from H2 to avoid to use in a create table statement? 【发布时间】:2017-03-31 08:39:15 【问题描述】:我正在尝试创建一个包含几列的简单表。一旦我尝试添加“CROSS”列,就会出现以下异常:
创建表 TABLE_TEST ( 交叉 VARCHAR2(6) , COLUMN_1 TIMESTAMP(6) , COLUMN_2 TIMESTAMP(6) , COLUMN_3 NUMBER(17,3) , COLUMN_4 VARCHAR2(1) ) [42001-194] 42001/42001(帮助) org.h2.jdbc.JdbcSQLException:SQL 语句中的语法错误“CREATE TABLE TABLE_TEST ( CROSS[*] VARCHAR2(6) , COLUMN_1 TIMESTAMP(6) , COLUMN_2 TIMESTAMP(6) , COLUMN_3 NUMBER(17,3) , COLUMN_4 VARCHAR2(1) )";预期的“标识符”;SQL 语句: 创建表 TABLE_TEST ( 交叉 VARCHAR2(6) , COLUMN_1 TIMESTAMP(6) , COLUMN_2 TIMESTAMP(6) , COLUMN_3 NUMBER(17,3) , COLUMN_4 VARCHAR2(1) ) [42001-194] 在 org.h2.message.DbException.getJdbcSQLException(DbException.java:345) 在 org.h2.message.DbException.getSyntaxError(DbException.java:205) 在 org.h2.command.Parser.readColumnIdentifier(Parser.java:3231) 在 org.h2.command.Parser.parseCreateTable(Parser.java:6052) 在 org.h2.command.Parser.parseCreate(Parser.java:4302) 在 org.h2.command.Parser.parsePrepared(Parser.java:364) 在 org.h2.command.Parser.parse(Parser.java:319) 在 org.h2.command.Parser.parse(Parser.java:291) 在 org.h2.command.Parser.prepareCommand(Parser.java:256) 在 org.h2.engine.Session.prepareLocal(Session.java:564) 在 org.h2.engine.Session.prepareCommand(Session.java:505) 在 org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1204) 在 org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:170) 在 org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:158) 在 org.h2.server.web.WebApp.getResult(WebApp.java:1380) 在 org.h2.server.web.WebApp.query(WebApp.java:1053) 在 org.h2.server.web.WebApp$1.next(WebApp.java:1015) 在 org.h2.server.web.WebApp$1.next(WebApp.java:1002) 在 org.h2.server.web.WebThread.process(WebThread.java:164) 在 org.h2.server.web.WebThread.run(WebThread.java:89) 在 java.lang.Thread.run(Thread.java:745)
有什么想法吗?
【问题讨论】:
【参考方案1】:是的,“CROSS”是H2 Keywords / Reserved Words
【讨论】:
以上是关于H2 DB:“CROSS”是 H2 使用的特殊关键字,以避免在创建表语句中使用?的主要内容,如果未能解决你的问题,请参考以下文章