sql >> Databáze >  >> RDS >> PostgreSQL

Můžete vytvořit sekvenci na sloupci, který již v Postgresu existuje

Nejprve musíte vytvořit sekvenci, kterou chcete použít pro výchozí hodnotu:

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

Pokud chcete stejný efekt, jako kdyby byl vytvořen jako serial musíte také změnit "vlastníka" sekvence:

alter sequence linelevelpmts_seq_seq owned by linelevelpmts.seq;

Upravit

Igorův komentář je dobrý:pokud již máte hodnoty ve sloupci seq měli byste upravit počáteční hodnotu sekvence:

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



  1. Jak získat více záznamů proti jednomu záznamu na základě vztahu?

  2. Ověření hesla Postgres se nezdařilo

  3. Pomocí zaškrtávacího políčka HTML vložte 1 nebo 0 do tabulky MySQL

  4. Uložená procedura MySQL vloží více řádků ze seznamu