3

我可以在 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)
4

1 回答 1

8

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

create table test ( "OPEN" integer );

但请注意,一旦您这样做,列(或表)名称就会区分大小写。"OPEN"是与"open"or不同的列"Open"

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

于 2012-11-13T08:34:30.640 回答