主キー列「gid」を持つテーブルがあり、そのタイプは「Integer NOT NULL」です。このテーブルにいくつかの値を挿入できるように、「Serial NOT NULL」に変換したいと思います。次のコマンドを使用して、シリアルに変換しました。
CREATE SEQUENCE test_table_gid_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 2147483648 START 1
CACHE 1;
ALTER TABLE test_table ALTER COLUMN gid
SET DEFAULT nextval('test_table_gid_seq'::regclass);
このコマンドは、整数をシリアルに変換しました。しかし、テーブルにいくつかのデータを入力しているときに、次のエラーが発生しました:
エラー: 重複するキー値が一意の制約 "pk_test" に違反しています。
これを解決するのを手伝ってください。整数をシリアルに変換する他の方法はありますか?