我正在尝试使用PostgreSQL的currval函数来返回名为Concept的表的最后一个插入行id. 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
但是当我运行查询时:
SELECT * from "Concept_cid_seq";
我得到一个有一行的表(正如我所料)显示了像last_value,start_value等列…
我在这里错过了什么?我是否将错误的信息传递给了currval?为什么说’专栏不存在?’
事实证明,这是大写和报价的问题.因为我想保留关系名称的大写,我需要使用单引号和双引号,以便将正确的关系名称传递给currval.
我将查询更改为SELECT currval(‘“Concept_cid_seq”’); (注意外部单引号)并且它正常工作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。