2016-07-17 5 views
2

を自動インクリメントを削除します。、いくつかの他の人から、私はデシベルで既存のテーブルを持っているPostgreSQLのフィールドから、以下のSQL FK'dを

CREATE TABLE forecastsource (
    source_id integer DEFAULT nextval(('public.forecastsource_source_id_seq'::text)::regclass) NOT NULL, 
    source_name character varying NOT NULL 
); 

を私はidフィールドから自動インクリメントを削除し、ちょうどそれを移動したいですintフィールド(テーブル内の現在のデータを失うことなく)。テーブルを落として再作成する以外に、どうすればいいですか?

答えて

5

は、単にデフォルト値をドロップ:

ALTER TABLE forecastsource ALTER COLUMN source_id DROP DEFAULT; 

はおそらく、また、その後のシーケンスをドロップします。

+2

シーケンスがSERIALとして作成されていて、それでも何らかの理由でシーケンスが必要な場合は、ALTER SEQUENCE forecastsource_source_id_seq OWNED BY NONE; –

関連する問題