Postgres 10 lub nowszy
serial
kolumny (patrz poniżej) pozostają niezmienione. Ale rozważ IDENTITY
kolumna. Postgres 10 implementuje tę funkcję standardowego SQL.
Podstawowa składnia i informacje w podręczniku CREATE TABLE
.
Szczegółowe wyjaśnienie w tym wpisie na blogu jego głównego autora, Petera Eisentrauta.
Utwórz tabela z IDENTITY
kolumna
CREATE TABLE staff (
staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
, staff text NOT NULL
);
Dodaj IDENTITY
kolumna do istniejącej tabeli
Tabela może, ale nie musi być wypełniona wierszami.
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY;
Aby jednocześnie uczynić go PK (stół nie może jeszcze mieć PK):
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY;
Powiązane:
- Jak dodać kolumnę tożsamości PostgreSQL 10 do istniejącej tabeli z wierszami?
Zamień serial
z IDENTITY
kolumna
Zobacz:
- Jak zmienić identyfikator tabeli z serialu na tożsamość?
Postgres 9.6 lub starszy
(Lub dowolna wersja, naprawdę.)
Użyj serial
zamiast tego pseudotyp danych:
CREATE TABLE staff (
staff_id serial PRIMARY KEY,
, staff text NOT NULL
);
Automatycznie tworzy i dołącza obiekt sekwencji i ustawia DEFAULT
do nextval()
z sekwencji. Robi wszystko, czego potrzebujesz.
W moim przykładzie użyłem identyfikatorów pisanych małymi literami. Ułatwia Ci życie z Postgresem.