sql >> Database teknologi >  >> RDS >> Database

SQL, Unikke og Primære nøgler

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.


  1. 6 måder at slette duplikerede rækker, der har en primær nøgle i SQLite

  2. Returnerer resultat selv for elementer i IN-listen, der ikke findes i tabellen

  3. Hvordan SYSDATE() virker i MariaDB

  4. MariaDB Cluster Offline Installation til CentOS