Hướng dẫn how do i create a unique key in mysql? - làm cách nào để tạo một khóa duy nhất trong mysql?


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

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)
);
0 đề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.

Một ràng buộc

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)
);
0 tự động có ràng buộc 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 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)
);
0 cho mỗi bảng.


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;



Hướng dẫn how do i create a unique key in mysql? - làm cách nào để tạo một khóa duy nhất trong mysql?


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óa chínhHạn chế duy nhất
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.

Khóa duy nhất trong MySQL với ví dụ là gì?

Một nhóm gồm một hoặc nhiều trường/cột bảng xác định duy nhất một bản ghi trong bảng cơ sở dữ liệu được gọi là khóa duy nhất trong các khóa MySQL.Nó tương tự như khóa chính ở chỗ nó chỉ có thể chấp nhận một giá trị null và không thể có các giá trị trùng lặp. is known as a unique key in MySQL Keys. It's similar to a primary key in that it can only accept one null value and cannot have duplicate values.

Ví dụ về khóa duy nhất là gì?

Hãy hiểu nó với một ví dụ.Chúng tôi sẽ tạo một bảng có tên là nhân viên, có cột tên duy nhất.Tạo nhân viên bảng (ID Int Not NULL Khóa chính, Tên Varchar (100) duy nhất, Địa chỉ Varchar (100), Chỉ định Varchar (100));CREATE TABLE employee ( id INT NOT NULL PRIMARY KEY, name VARCHAR(100) UNIQUE, address VARCHAR(100), designation VARCHAR(100) );

Tôi có thể xác định nhiều khóa duy nhất trong bảng MySQL không?

Chúng ta có thể xác định nhiều khóa duy nhất trên bảng trong đó một hoặc nhiều cột kết hợp để tạo một khóa duy nhất.Theo ANSI, chúng ta có thể sử dụng nhiều giá trị null nhưng trong máy chủ SQL, chúng ta chỉ có thể thêm một giá trị null.. According to ANSI, we can use multiple NULL values but in the SQL server, we can add only one NULL value.