sql >> Databáze >  >> RDS >> Database

SQL, jedinečné a primární klíče

S tabulkou vytvořenou tímto příkazem:

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

Položku můžeme vložit více než jednou.

A konkrétně můžeme mít sloupce, které opakují stejnou hodnotu.

Můžeme vynutit, aby sloupec měl pouze jedinečné hodnoty pomocí UNIQUE klíčové omezení:

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

Pokud se nyní pokusíte přidat „Flavio“ dvakrát:

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

Dostanete chybu:

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

Primární klíč je jedinečný klíč, který má další vlastnost:je to primární způsob, jak identifikujeme řádek v tabulce.

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

Primárním klíčem může být například e-mail v seznamu uživatelů.

Primárním klíčem může být jedinečné id které každému záznamu přiřadíme automaticky.

Ať je tato hodnota jakákoliv, víme, že ji můžeme použít k odkazování na řádek v tabulce.


  1. Jak změnit výchozí port MySQL/MariaDB v Linuxu

  2. CAST a IsNumeric

  3. OFFSET vs. ROW_NUMBER()

  4. Nejrychlejší způsob, jak zkontrolovat, zda jsou nějaké záznamy v databázové tabulce?