sql >> Databasteknik >  >> RDS >> PostgreSQL

Kan du skapa en sekvens på en kolumn som redan finns i Postgres

Du måste först skapa sekvensen du vill använda för standardvärdet:

create sequence linelevelpmts_seq_seq;
ALTER TABLE public.linelevelpmts 
    ALTER COLUMN seq SET DEFAULT nextval('linelevelpmts_seq_seq'::regclass);

Om du vill ha samma effekt som om den skapades som serial du måste också ändra "ägaren" till sekvensen:

alter sequence linelevelpmts_seq_seq owned by linelevelpmts.seq;

Redigera

Igors kommentar är bra:om du redan har värden i kolumnen seq du bör justera startvärdet för sekvensen:

select setval('linelevelpmts_seq_seq', (select max(seq) from linelevelpmts));



  1. Hur kan jag gå igenom alla filer i en mapp med TSQL?

  2. CodeIgniter/PHP/MySQL:Hämtar data med JOIN

  3. MySQL-fråga med 'in'-operator:varför olika resultat med citattecken?

  4. Filtrera och gruppera data från tabell med nyckel/värdepar