Danh sách Tutorial

[PostgreSQL] Rằng buộc duy nhất (UNIQUE Constraint)


Một rằng buộc duy nhất (UNIQUE Constraint) để đảm bảo dữ liệu trong 1 cột (column) là duy nhất trong bảng CSDL. Khi thực hiện insert hoặc update dữ liệu, nó sẽ tiến hành kiểm tra xem dữ liệu được thêm vào hay cập nhật có tồn tại hay không. Nếu đã tồn tại dữ liệu thì sẽ báo lỗi.

Khi bạn thêm một ràng buộc duy nhất vào một cột hoặc một nhóm cột, PostgreSQL sẽ tự động tạo một chỉ mục (Unique index) trên cột tương ứng hoặc một nhóm các cột tương ứng.

Định nghĩa rằng buộc duy nhất  (UNIQUE Constraint) khi tạo mới 1 bảng

Định nghĩa rằng buộc sử dụng cho 1 cột

Cú pháp lệnh: 

CREATE TABLE <table_name> (
<column_name> <data_type> UNIQUE
);

Ví dụ: Tạo bảng username có cột username có rằng buộc duy nhất Unique

CREATE TABLE users
(
    user_id serial NOT NULL PRIMARY KEY,
    username character varying UNIQUE,
    password character varying,
    email character varying,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone,
    deleted_at timestamp without time zone
);

Bây giờ chúng ta thực hiện insert 2 lần với câu SQL Query sau:

INSERT INTO users (username, created_at) VALUES ('admin', '2019-01-01 00:00:00');

Kết quả lần insert thứ 2 sẽ báo lỗi vì bị trùng lặp dữ liệu

Định nghĩa rằng buộc sử dụng cho 1 nhóm các cột

Cú pháp lệnh:

CREATE TABLE <table_name> (
<column_name_1> <data_type>
<column_name_2> <data_type>
UNIQUE(column_name_1, column_name_2)
);

Khi đó giá trị của 2 column_name_1 và column_name_2 sẽ là duy nhất khi dữ liệu của chúng cùng duy nhất.

Nguồn: vinasupport.com

 

SHARE

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web