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.