PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak dodać automatycznie zwiększający się klucz podstawowy do istniejącej tabeli w PostgreSQL?

(Zaktualizowane – Podziękowania dla osób, które skomentowały )

Nowoczesne wersje PostgreSQL

Załóżmy, że masz tabelę o nazwie test1 , do którego chcesz dodać automatycznie zwiększający się klucz podstawowy id (zastępcza) kolumna. Następujące polecenie powinno wystarczyć w najnowszych wersjach PostgreSQL:

   ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;

Starsze wersje PostgreSQL

W starych wersjach PostgreSQL (przed 8.x?) trzeba było wykonać całą brudną robotę. Poniższa sekwencja poleceń powinna wystarczyć:

  ALTER TABLE test1 ADD COLUMN id INTEGER;
  CREATE SEQUENCE test_id_seq OWNED BY test1.id;
  ALTER TABLE test ALTER COLUMN id SET DEFAULT nextval('test_id_seq');
  UPDATE test1 SET id = nextval('test_id_seq');

Ponownie, w najnowszych wersjach Postgresa jest to z grubsza równoważne z pojedynczym poleceniem powyżej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spring Data JPA + Hibernate Skip Zablokowane wiersze (PostgreSQL)

  2. Jak działa Acosh() w PostgreSQL

  3. różnica między localhost i postgres dla hosta w docker

  4. Czy możesz utworzyć indeks w definicji CREATE TABLE?

  5. Wygląda na to, że tryb postgresql H2 nie działa dla mnie