UNIQUE constraint (ràng buộc duy nhất) trong SQL đảm bảo rằng tất cả các giá trị trong một cột hoặc tập hợp các cột đều là duy nhất. Điều này có nghĩa là không có hai bản ghi nào trong bảng có thể có cùng giá trị cho các cột được áp dụng ràng buộc.
Cú pháp:
- Khi tạo bảng:
CREATE TABLE table_name ( column1 data_type, column2 data_type, ..., CONSTRAINT constraint_name UNIQUE (column1, column2, ...), ... );
- Khi thay đổi bảng:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ...);
- Xoá Unique:
ALTER TABLE Persons DROP CONSTRAINT UC_Person;
Giải thích:
- table_name: Tên của bảng.
- column1, column2, …: Tên các cột được áp dụng ràng buộc.
- constraint_name: Tên cho ràng buộc (tùy chọn).
Ví dụ:
--Tạo bảng Products với ràng buộc UNIQUE trên cột ProductID: CREATE TABLE Products ( ProductID int NOT NULL AUTO_INCREMENT PRIMARY KEY, ProductName varchar(255) NOT NULL, ..., CONSTRAINT unique_product_id UNIQUE (ProductID) ); --Thêm ràng buộc UNIQUE trên các cột FirstName và LastName trong bảng Customers: SQL ALTER TABLE Customers ADD CONSTRAINT unique_customer_name UNIQUE (FirstName, LastName);
Lưu ý:
- Ràng buộc UNIQUE có thể được áp dụng trên một hoặc nhiều cột trong cùng một bảng.
- Nếu bạn cố gắng chèn một bản ghi mới vi phạm ràng buộc UNIQUE, hệ thống quản trị cơ sở dữ liệu (DBMS) sẽ lỗi và chặn việc chèn dữ liệu.
- Ràng buộc UNIQUE khác với PRIMARY KEY constraint (khóa chính) ở chỗ PRIMARY KEY cũng là UNIQUE nhưng bắt buộc phải NOT NULL (không được trống) cho tất cả các cột được áp dụng.