Postgres 10 of hoger
serial
kolommen (zie hieronder) blijven ongewijzigd. Maar overweeg een IDENTITY
kolom. Postgres 10 implementeert deze standaard-SQL-functie.
Basissyntaxis en info in de handleiding voor CREATE TABLE
.
Gedetailleerde uitleg in dit blogbericht van hoofdauteur Peter Eisentraut.
Maken tabel met IDENTITY
kolom
CREATE TABLE staff (
staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
, staff text NOT NULL
);
Toevoegen IDENTITY
kolom naar bestaande tabel
Tabel kan al dan niet worden gevuld met rijen.
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY;
Om er tegelijkertijd ook PK van te maken (tafel kan nog geen PK hebben):
ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY;
Gerelateerd:
- Hoe voeg ik een PostgreSQL 10-identiteitskolom toe aan een bestaande tabel met rijen?
Vervangen serial
met IDENTITY
kolom
Zie:
- Hoe verander je een tabel-ID van serieel naar identiteit?
Postgres 9.6 of ouder
(Of eigenlijk elke versie.)
Gebruik de serial
pseudo-gegevenstype in plaats daarvan:
CREATE TABLE staff (
staff_id serial PRIMARY KEY,
, staff text NOT NULL
);
Het creëert en koppelt het sequentie-object automatisch en stelt de DEFAULT
. in naar nextval()
uit de volgorde. Het doet alles wat je nodig hebt.
In mijn voorbeeld heb ik kleine letters gebruikt. Maakt uw leven met Postgres gemakkelijker.