2016-07-17 15 views
2

Ich habe eine vorhandene Tabelle in einem db, FK'd von mehreren anderen, SQL unter:entfernen autoincrement von postgresql Feld

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

ich die autoincrement aus dem ID-Feld entfernen möchten, und verschieben Sie es einfach zu sei ein int-Feld (ohne die aktuellen Daten in der Tabelle zu verlieren). Wie würde ich das tun, außer den Tisch fallen zu lassen und neu zu gestalten?

Antwort

5

Legen Sie einfach den Standardwert:

ALTER TABLE forecastsource ALTER COLUMN source_id DROP DEFAULT; 

Sie wollen wahrscheinlich auch dann die Folge fallen zu lassen.

+2

Wenn die Sequenz als SERIAL erstellt wurde und Sie sie aus irgendeinem Grund noch benötigen, sollten Sie die Sequenz ändern. Procesuresource_source_id_seq Owned by none; –

Verwandte Themen