SQL ràng buộc duy nhất
Hạn chế UNIQUE
đảm bảo rằng tất cả các giá trị trong một cột là khác nhau.
Cả hai ràng buộc UNIQUE
và
CREATE TABLE contacts0 đều cung cấp một sự đảm bảo cho tính duy nhất cho một cột hoặc tập hợp các cột.
[ contact_id INT[11] PRIMARY KEY AUTO_INCREMENT,
reference_number INT[11] NOT NULL,
last_name VARCHAR[30] NOT NULL,
first_name VARCHAR[25],
birthday DATE,
CONSTRAINT reference_unique UNIQUE [reference_number]
];
Một ràng buộc
CREATE TABLE contacts0 tự động có ràng buộc
[ contact_id INT[11] PRIMARY KEY AUTO_INCREMENT,
reference_number INT[11] NOT NULL,
last_name VARCHAR[30] NOT NULL,
first_name VARCHAR[25],
birthday DATE,
CONSTRAINT reference_unique UNIQUE [reference_number]
];
UNIQUE
.Tuy nhiên, bạn có thể có nhiều ràng buộc UNIQUE
cho mỗi bảng, nhưng chỉ có một ràng buộc
CREATE TABLE contacts0 cho mỗi bảng.
[ contact_id INT[11] PRIMARY KEY AUTO_INCREMENT,
reference_number INT[11] NOT NULL,
last_name VARCHAR[30] NOT NULL,
first_name VARCHAR[25],
birthday DATE,
CONSTRAINT reference_unique UNIQUE [reference_number]
];
SQL ràng buộc duy nhất trên bảng tạo
SQL sau đây tạo ra ràng buộc UNIQUE
trên cột "id" khi bảng "người" được tạo:
SQL Server / Oracle / MS Access:
Tạo người bảng [& nbsp; & nbsp; & nbsp; id int not null duy nhất, & nbsp; & nbsp; & nbsp; lastName varchar [255] không null, & nbsp; ];
ID int NOT NULL UNIQUE,
LastName varchar[255] NOT NULL,
FirstName varchar[255],
Age int
];
MySQL:
Tạo người bảng [& nbsp; & nbsp; & nbsp; id int not null, & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; duy nhất [id]];
ID int NOT NULL,
LastName
varchar[255] NOT NULL,
FirstName varchar[255],
Age int,
UNIQUE [ID]
];
Để đặt tên cho một ràng buộc UNIQUE
và để xác định ràng buộc UNIQUE
trên nhiều cột, hãy sử dụng cú pháp SQL sau:
MYSQL / SQL Server / Oracle / MS Access:
Tạo người bảng [& nbsp; & nbsp; & nbsp; id int not null, & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ràng buộc uc_person duy nhất [id, lastName]];
ID int NOT NULL,
LastName varchar[255] NOT NULL,
FirstName
varchar[255],
Age int,
CONSTRAINT UC_Person UNIQUE [ID,LastName]
];
SQL ràng buộc duy nhất trên bảng thay đổi
Để tạo ràng buộc UNIQUE
trên cột "ID" khi bảng đã được tạo, hãy sử dụng SQL sau:
MYSQL / SQL Server / Oracle / MS Access:
Tạo người bảng [& nbsp; & nbsp; & nbsp; id int not null, & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ràng buộc uc_person duy nhất [id, lastName]];
ADD UNIQUE [ID];
Để đặt tên cho một ràng buộc UNIQUE
và để xác định ràng buộc UNIQUE
trên nhiều cột, hãy sử dụng cú pháp SQL sau:
MYSQL / SQL Server / Oracle / MS Access:
Tạo người bảng [& nbsp; & nbsp; & nbsp; id int not null, & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ràng buộc uc_person duy nhất [id, lastName]];
ADD CONSTRAINT UC_Person UNIQUE [ID,LastName];
SQL ràng buộc duy nhất trên bảng thay đổi
Để tạo ràng buộc UNIQUE
trên cột "ID" khi bảng đã được tạo, hãy sử dụng SQL sau:
MySQL:
Người thay đổi người người thêm duy nhất [ID];
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access:
Tạo người bảng [& nbsp; & nbsp; & nbsp; id int not null duy nhất, & nbsp; & nbsp; & nbsp; lastName varchar [255] không null, & nbsp; ];
DROP CONSTRAINT UC_Person;
Thả ràng buộc độc đáocreate, add, and drop unique constraints in MySQL with syntax and examples.
Cú pháp để bỏ một ràng buộc duy nhất trong MySQL là:
Một ràng buộc duy nhất là một trường hoặc kết hợp các trường xác định duy nhất một bản ghi. Một số trường có thể chứa các giá trị null miễn là sự kết hợp của các giá trị là duy nhất.
Sự khác biệt giữa một ràng buộc duy nhất và khóa chính là gì?
Không có trường nào là một phần của khóa chính có thể chứa giá trị null. | Một số trường là một phần của ràng buộc duy nhất có thể chứa các giá trị null miễn là sự kết hợp của các giá trị là duy nhất. |
Tạo Hỗn hợp duy nhất - Sử dụng câu lệnh Creat Table Table
Cú pháp để tạo một ràng buộc duy nhất bằng cách sử dụng câu lệnh Creat Table trong MySQL là:
CREATE TABLE table_name [ column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ... CONSTRAINT constraint_name UNIQUE [uc_col1, uc_col2, ... uc_col_n] ];Table_namethe Tên của bảng mà bạn muốn tạo.Column1, cột2 Các cột mà bạn muốn tạo trong bảng
Thí dụ
Chúng ta hãy xem một ví dụ về cách tạo một ràng buộc độc đáo trong MySQL bằng cách sử dụng câu lệnh Creat Table.
CREATE TABLE contacts
[ contact_id INT[11] PRIMARY KEY AUTO_INCREMENT,
reference_number INT[11] NOT NULL,
last_name VARCHAR[30] NOT NULL,
first_name VARCHAR[25],
birthday DATE,
CONSTRAINT reference_unique UNIQUE [reference_number]
];
Trong ví dụ này, chúng tôi đã tạo ra một ràng buộc duy nhất trên bảng liên hệ có tên tham chiếu_unique. Nó chỉ bao gồm một trường - trường tham chiếu_Number.
Chúng tôi cũng có thể tạo ra một ràng buộc duy nhất với nhiều hơn một trường như trong ví dụ dưới đây:
CREATE TABLE contacts
[ contact_id INT[11] PRIMARY KEY AUTO_INCREMENT,
reference_number INT[11] NOT NULL,
last_name VARCHAR[30] NOT NULL,
first_name VARCHAR[25],
birthday DATE,
CONSTRAINT contact_name_unique UNIQUE [last_name, first_name]
];
Tạo đối thủ độc đáo - Sử dụng câu lệnh ALTER BẢNG
Cú pháp để tạo một ràng buộc duy nhất bằng cách sử dụng câu lệnh ALTER BẢNG trong MySQL là:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE [column1, column2, ... column_n];Table_namethe Tên của bảng để sửa đổi. Đây là bảng mà bạn muốn thêm một ràng buộc duy nhất vào tên.Constraint_namethe của ràng buộc duy nhất.column1, cột2, ... cột_nthe các cột tạo nên ràng buộc duy nhất.
Thí dụ
Chúng ta hãy xem một ví dụ về cách thêm một ràng buộc duy nhất vào một bảng hiện có trong MySQL bằng cách sử dụng câu lệnh ALTER TAUGE.
ALTER TABLE contacts ADD CONSTRAINT reference_unique UNIQUE [reference_number];
Trong ví dụ này, chúng tôi đã tạo ra một ràng buộc duy nhất trên bảng liên hệ hiện có có tên tham chiếu_unique. Nó bao gồm trường được gọi là tham chiếu_number.
Chúng tôi cũng có thể tạo ra một ràng buộc duy nhất với nhiều hơn một trường như trong ví dụ dưới đây:
ALTER TABLE contacts ADD CONSTRAINT contact_name_unique UNIQUE [last_name, first_name];
Thả ràng buộc độc đáo
Cú pháp để bỏ một ràng buộc duy nhất trong MySQL là:
ALTER TABLE table_name DROP INDEX constraint_name;Table_namethe Tên của bảng để sửa đổi. Đây là bảng mà bạn muốn xóa ràng buộc duy nhất khỏi tên.Constraint_namethe của ràng buộc duy nhất để xóa.
Thí dụ
Chúng ta hãy xem một ví dụ về cách thêm một ràng buộc duy nhất vào một bảng hiện có trong MySQL bằng cách sử dụng câu lệnh ALTER TAUGE.
ALTER TABLE contacts DROP INDEX reference_unique;
Trong ví dụ này, chúng tôi đã tạo ra một ràng buộc duy nhất trên bảng liên hệ hiện có có tên tham chiếu_unique. Nó bao gồm trường được gọi là tham chiếu_number.