如何在Derby中将关键字用作列名

时间:2012-11-13 08:25:47

标签: sql derby

我可以在Derby中使用保留关键字作为列名吗? 我正在尝试将数据库架构迁移到Derby中以进行测试。出于这个原因,我真的不想改变架构结构(列名等)。

所以问题是,如何在Derby中创建列名为“open”的表?例如表:

create table test ( open integer );

试图引用列名,但到目前为止还没有成功......

java.sql.SQLSyntaxErrorException: Syntax error: Encountered "open" at line 1, column 21.
    at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)

1 个答案:

答案 0 :(得分:8)

引用保留字的标准方式(并且Derby遵循标准,因为几乎所有DBMS都在这方面做)是使用双引号。

create table test ( "OPEN" integer );

但请注意,一旦您执行该列(或表),名称将变为区分大小写。 "OPEN""open""Open"不同。

我强烈建议您使用要求您引用它们的名称。