我可以在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)
引用保留字的标准方法(Derby遵循该标准,几乎所有DBMS都遵循该标准)是使用双引号。
create table test ( "OPEN" integer );
但是请注意,一旦执行该操作,列(或表)名称就会区分大小写。"OPEN"与"open"或是不同的列"Open"。
"OPEN"
"open"
"Open"
我强烈建议你 不 使用需要你引用他们的名字。