PostgreSQLのcurrval
関数を使用して、最後に挿入されたテーブルの行IDをConcept
とすることを試みています。 Concept
にはcid
というシリアルプライマリキーがあり、自動的に生成されるConcept_cid_seq
というシーケンスがあります。currval "カラムが存在しない"と告げるPostgreSQLの機能
私は、次のステートメントを試してみて、エラーを取得:
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";
を私は(私が期待するよう)を示す1行のテーブルを取得しますlast_value、start_valueなどの列...
ここでは何が欠けていますか?間違った情報をcurrvalに渡していますか?なぜそれは 'コラムは存在しないのですか?'
文書では、単一引用符、 '' ''の代わりに '' ''を使用しています。両方の見積もりスタイルで同じエラーが表示されますか? – SingleNegationElimination
また、シーケンスの大文字小文字が二重引用符を含まない場合は小文字に正規化されているので、おそらく 'currval( '" Concept_cid_seq "')'があるはずです... – SingleNegationElimination
@TokenMacGuyはい、 。一重引用符を使用すると、大文字のままにはならないので、エラーは「ERROR:relation」というconcept_cid_seqは「存在しません」となります。その場合、列の代わりにそれを関係と呼んでいるという事実にある意味があるのだろうかと思います... – Drewmate