質問: システム上で値登録を行い、登録ボタン押下後に「重複キーは一意性制約"hogeキー"に違反しています」というエラーが出てしまったため、 SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX('hogeコード') FROM hoge_table)); 上記のSQLを実行したところ、以下のようなエラーが出てしまいました。 「指定名称、指定引数型に合う関数がありません。明示的な型キャストが必要かもしれません」 hogeコードはCHAR型で定義しており、hoge_table内には2つの主キーが存在しております。 解決案を提示して下されば幸いです。 よろしくお願い致します。
回答: MAXのところの項目hogeコードがCHARになっていて数字が入っているとしています ``` ts2100=> CREATE SEQUENCE hoge_table_hogeコード_seq; CREATE SEQUENCE ts2100=> create table hoge_table (id char, hogeコード text); CREATE TABLE ts2100=> insert into hoge_table values ('A','010'),('B','020'),('C','030'); INSERT 0 3 ts2100=> SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX(hogeコード) FROM hoge_table)::int); setval 30 (1 row) ts2100=> SELECT setval('hoge_table_hogeコード_seq', (SELECT MAX(hogeコード)::int FROM hoge_table)); setval 30 (1 row) ```