SQL, khóa duy nhất và khóa chính

Cách tạo khóa chính và duy nhất trong cơ sở dữ liệu SQL

Với một bảng được tạo bằng lệnh này:

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

Chúng tôi có thể chèn một mục nhiều hơn một lần.

Và đặc biệt, chúng ta có thể có các cột lặp lại cùng một giá trị.

Chúng tôi có thể buộc một cột chỉ có các giá trị duy nhất bằng cách sử dụngUNIQUEhạn chế chính:

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

Bây giờ nếu bạn cố gắng thêm 'Flavio' hai lần:

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

Bạn sẽ gặp lỗi:

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

A primary key is a unique key that has another property: it’s the primary way we identify a row in the table.

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

The primary key can be an email in a list of users, for example.

The primary key can be a unique id that we assign to each record automatically.

Whatever that value is, we know we can use it to reference a row in the table.


More database tutorials: