postrSQL中的currval函数抱怨"列不存在"

Dre*_*ate 6 postgresql

我试图使用PostgreSQL的currval函数来返回一个名为的表的最后插入行id Concept. Concept有一个串行主键调用,cid并有一个自动生成的序列调用Concept_cid_seq.

我尝试以下语句并得到一个错误:

SELECT currval("Concept_cid_seq");
ERROR:  column "Concept_cid_seq" does not exist
LINE 1: SELECT currval("Concept_cid_seq");
                       ^

********** Error **********

ERROR: column "Concept_cid_seq" does not exist
SQL state: 42703
Character: 16
Run Code Online (Sandbox Code Playgroud)

但是当我运行查询时:

SELECT * from "Concept_cid_seq";
Run Code Online (Sandbox Code Playgroud)

我得到一个有一行的表(正如我所料)显示了像last_value,start_value等列...

我在这里错过了什么?我是否将错误的信息传递给了currval?为什么说'专栏不存在?'

Dre*_*ate 6

事实证明,这是大写和报价的问题.因为我想保护的关系名称的大小写我需要使用两个单独的为了传递正确的关系名称双引号currval.

我将查询更改为SELECT currval('"Concept_cid_seq"');(注意外部单引号)并且它正常工作.