Med en tabel oprettet med denne kommando:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL
);
Vi kan indsætte en vare mere end én gang.
Og især kan vi have kolonner, der gentager den samme værdi.
Vi kan tvinge en kolonne til kun at have unikke værdier ved at bruge UNIQUE
nøglebegrænsning:
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL UNIQUE
);
Hvis du nu prøver at tilføje 'Flavio' to gange:
INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');
Du får en fejlmeddelelse:
ERROR: duplicate key value violates unique constraint "people_name_key"
DETAIL: Key (name)=(Flavio) already exists.
En primær nøgle er en unik nøgle, der har en anden egenskab:det er den primære måde, vi identificerer en række i tabellen på.
CREATE TABLE people (
age INT NOT NULL,
name CHAR(20) NOT NULL PRIMARY KEY
);
Den primære nøgle kan f.eks. være en e-mail på en liste over brugere.
Den primære nøgle kan være et unikt id
som vi tildeler hver post automatisk.
Uanset hvad denne værdi er, ved vi, at vi kan bruge den til at referere til en række i tabellen.