一尘不染

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

sql

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

阅读 122

收藏
2021-05-30

共1个答案

一尘不染

引用保留字的标准方法(Derby遵循该标准,几乎所有DBMS都遵循该标准)是使用双引号。

create table test ( "OPEN" integer );

但是请注意,一旦执行该操作,列(或表)名称就会区分大小写。"OPEN""open"或是不同的列"Open"

我强烈建议你 使用需要你引用他们的名字。

2021-05-30