sql >> Database >  >> RDS >> Database

SQL-, unieke en primaire sleutels

Met een tabel gemaakt met dit commando:

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

We kunnen een item meerdere keren invoegen.

En in het bijzonder kunnen we kolommen hebben die dezelfde waarde herhalen.

We kunnen een kolom dwingen om alleen unieke waarden te hebben met behulp van de UNIQUE belangrijkste beperking:

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

Als je nu de 'Flavio' twee keer probeert toe te voegen:

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

U krijgt een foutmelding:

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

Een primaire sleutel is een unieke sleutel die een andere eigenschap heeft:het is de primaire manier waarop we een rij in de tabel identificeren.

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

De primaire sleutel kan bijvoorbeeld een e-mail zijn in een lijst met gebruikers.

De primaire sleutel kan een unieke id zijn die we automatisch aan elk record toewijzen.

Wat die waarde ook is, we weten dat we hem kunnen gebruiken om naar een rij in de tabel te verwijzen.


  1. Wat is het nulkarakter letterlijk in TSQL?

  2. Psycopg2 Invoegen in tabel met tijdelijke aanduidingen

  3. Een belangrijke wijziging in Extended Events in SQL Server 2012

  4. mysqldump Best Practices:Deel 2 – Migratiegids