从postgresql字段中删除自动增量
我在数据库中有一个现有表,FK'd来自其他几个数据库,SQL如下:从postgresql字段中删除自动增量,sql,postgresql,auto-increment,Sql,Postgresql,Auto Increment,我在数据库中有一个现有表,FK'd来自其他几个数据库,SQL如下: CREATE TABLE forecastsource ( source_id integer DEFAULT nextval(('public.forecastsource_source_id_seq'::text)::regclass) NOT NULL, source_name character varying NOT NULL ); 我想从id字段中删除autoincrement,只需将其移动为int
CREATE TABLE forecastsource (
source_id integer DEFAULT nextval(('public.forecastsource_source_id_seq'::text)::regclass) NOT NULL,
source_name character varying NOT NULL
);
我想从id字段中删除autoincrement,只需将其移动为int字段(而不会丢失表中的当前数据)。除了删除并重新创建表之外,我该怎么做?只需删除默认值:
ALTER TABLE forecastsource ALTER COLUMN source_id DROP DEFAULT;
您可能还想删除该序列。如果该序列是作为序列创建的,但出于某种原因您仍然需要它,则应更改由NONE拥有的序列forecastsource\u source\u id\u seq;