postgres数据库列名无法识别

时间:2014-05-23 10:35:14

标签: sql ruby postgresql

我正在使用postgresql数据库,在表中,我有一个名为date的列。 当我尝试使用此列(日期)进行某些操作时会出现问题。

例如:

  

使用btree(date)创建索引tg_index ON table_replay;

这是我的错误:

  

错误:列“日期”不存在

     

****** 错误 ******

     

错误:列“日期”不存在SQL状态:42703

PS: 我无法更改此列名称,因为这是一个大型数据库,所以我需要很多年才能执行任何更改。感谢您的理解。

2 个答案:

答案 0 :(得分:1)

http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html表示日期是保留关键字。你可以尝试引用它。这可能行不通。

我同意他的上述评论 - 使用具有一般意义的普通关键字通常是一种不好的做法 - 列名称应该有助于描述该列的用途。

答案 1 :(得分:1)

将列名从日期更改为另一个,例如date,因为日期是保留字。您可以使用alter commmand轻松实现此目的。使用alter命令不会占用太多时间,因为alter命令只影响表结构reather而不是表的数据。 alter命令与表的数据无关。