sql >> Databasteknik >  >> RDS >> Database

SQL, Unika och Primära nycklar

Med en tabell skapad med detta kommando:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL
);

Vi kan infoga ett objekt mer än en gång.

Och i synnerhet kan vi ha kolumner som upprepar samma värde.

Vi kan tvinga en kolumn att bara ha unika värden genom att använda UNIQUE nyckelbegränsning:

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL UNIQUE
);

Om du nu försöker lägga till "Flavio" två gånger:

INSERT INTO people VALUES (37, 'Flavio');
INSERT INTO people VALUES (20, 'Flavio');

Du skulle få ett felmeddelande:

ERROR:  duplicate key value violates unique constraint "people_name_key"
DETAIL:  Key (name)=(Flavio) already exists.

En primär nyckel är en unik nyckel som har en annan egenskap:det är det primära sättet att identifiera en rad i tabellen.

CREATE TABLE people (
  age INT NOT NULL,
  name CHAR(20) NOT NULL PRIMARY KEY
);

Den primära nyckeln kan till exempel vara ett e-postmeddelande i en lista över användare.

Primärnyckeln kan vara ett unikt id som vi tilldelar varje post automatiskt.

Oavsett vilket värde det är vet vi att vi kan använda det för att referera till en rad i tabellen.


  1. Hur UNCOMPRESSED_LENGTH() fungerar i MariaDB

  2. Förhindrar SQL-injektion i ASP.Net

  3. Hur man ansluter till MySQL med Node.js

  4. Returnera alla inaktiverade begränsningar i SQL Server (T-SQL-exempel)