Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Rằng buộc duy nhất (UNIQUE Constraint) trong PostgreSQL - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Ràng buộc duy nhất (UNIQUE Constraint) trong PostgreSQL được sử dụng để đảm bảo rằng giá trị trong một cột hoặc một nhóm cột là duy nhất trong bảng CSDL. Khi bạn thêm hoặc cập nhật dữ liệu, ràng buộc này sẽ kiểm tra xem giá trị đó đã tồn tại trong cột hay nhóm cột tương ứng chưa. Nếu đã tồn tại, nó sẽ gây ra lỗi.

Khi bạn áp dụng ràng buộc duy nhất cho một cột hoặc một nhóm cột trong PostgreSQL, hệ thống tự động tạo một chỉ mục duy nhất (Unique index) trên cột hoặc nhóm cột đó. Điều này giúp tối ưu hóa việc kiểm tra tính duy nhất của giá trị và tăng cường hiệu suất truy vấn trong CSDL.

Đị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)
);

Lúc đó, nếu dữ liệu trong cả hai cột “column_name_1” và “column_name_2” đều giống nhau, thì giá trị của chúng sẽ là duy nhất.

Để lại một bình luậ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 *