Ràng buộc duy nhất của phpMyAdmin

Tóm lược. trong hướng dẫn này, bạn sẽ tìm hiểu về ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 trong MySQL và cách sử dụng ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 để thực thi tính duy nhất của các giá trị trong một cột hoặc một nhóm cột trong bảng

Giới thiệu về ràng buộc MySQL [CONSTRAINT constraint_name] UNIQUE(column_list)Code language: SQL (Structured Query Language) (sql)0

Đôi khi, bạn muốn đảm bảo các giá trị trong một cột hoặc một nhóm cột là duy nhất. Ví dụ: địa chỉ email của người dùng trong bảng

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
3 hoặc số điện thoại của khách hàng trong bảng

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
4 phải là duy nhất. Để thực thi quy tắc này, bạn sử dụng ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0

Ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 là một ràng buộc toàn vẹn nhằm đảm bảo các giá trị trong một cột hoặc nhóm cột là duy nhất. Ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 có thể là ràng buộc cột hoặc ràng buộc bảng

Để xác định ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 cho một cột khi bạn tạo bảng, bạn sử dụng cú pháp này

CREATE TABLE table_name( ...,     column_name data_type UNIQUE, ... );

Code language: SQL (Structured Query Language) (sql)

Trong cú pháp này, bạn bao gồm từ khóa

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 trong định nghĩa của cột mà bạn muốn thực thi quy tắc duy nhất. Nếu bạn chèn hoặc cập nhật một giá trị gây ra sự trùng lặp trong

CREATE TABLE suppliers ( supplier_id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, phone VARCHAR(15) NOT NULL UNIQUE, address VARCHAR(255) NOT NULL, PRIMARY KEY (supplier_id), CONSTRAINT uc_name_address UNIQUE (name , address) );

Code language: SQL (Structured Query Language) (sql)
0, MySQL sẽ từ chối thay đổi và thông báo lỗi

Ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 này là một ràng buộc cột. Và bạn có thể sử dụng nó để thực thi quy tắc duy nhất cho một cột

Để xác định ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 cho hai hoặc nhiều cột, bạn sử dụng cú pháp sau

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)

Trong cú pháp này, bạn thêm một danh sách các cột được phân tách bằng dấu phẩy trong dấu ngoặc đơn sau từ khóa

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0. MySQL sử dụng tổ hợp các giá trị trong cả hai cột

CREATE TABLE suppliers ( supplier_id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, phone VARCHAR(15) NOT NULL UNIQUE, address VARCHAR(255) NOT NULL, PRIMARY KEY (supplier_id), CONSTRAINT uc_name_address UNIQUE (name , address) );

Code language: SQL (Structured Query Language) (sql)
4 và

CREATE TABLE suppliers ( supplier_id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, phone VARCHAR(15) NOT NULL UNIQUE, address VARCHAR(255) NOT NULL, PRIMARY KEY (supplier_id), CONSTRAINT uc_name_address UNIQUE (name , address) );

Code language: SQL (Structured Query Language) (sql)
5 để đánh giá tính duy nhất

Nếu bạn xác định ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 mà không chỉ định tên, MySQL sẽ tự động tạo tên cho nó. Để xác định ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 với tên, bạn sử dụng cú pháp này

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)

Trong cú pháp này, bạn chỉ định tên của ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 sau từ khóa

CREATE TABLE suppliers ( supplier_id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, phone VARCHAR(15) NOT NULL UNIQUE, address VARCHAR(255) NOT NULL, PRIMARY KEY (supplier_id), CONSTRAINT uc_name_address UNIQUE (name , address) );

Code language: SQL (Structured Query Language) (sql)
9

Ví dụ về ràng buộc MySQL [CONSTRAINT constraint_name] UNIQUE(column_list)Code language: SQL (Structured Query Language) (sql)0

Đầu tiên, tạo một bảng mới có tên là

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1 với hai ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0

CREATE TABLE suppliers ( supplier_id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, phone VARCHAR(15) NOT NULL UNIQUE, address VARCHAR(255) NOT NULL, PRIMARY KEY (supplier_id), CONSTRAINT uc_name_address UNIQUE (name , address) );

Code language: SQL (Structured Query Language) (sql)

Trong ví dụ này, ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 đầu tiên được xác định cho cột

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
4

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)

Và ràng buộc thứ hai dành cho các cột

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
5 tên và

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
6

CONSTRAINT uc_name_address UNIQUE (name , address)

Code language: SQL (Structured Query Language) (sql)

Thứ hai, chèn một hàng vào bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1

INSERT INTO suppliers(name, phone, address) VALUES( 'ABC Inc', '(408)-908-2476', '4000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)

Thứ ba, cố gắng chèn một nhà cung cấp khác nhưng có số điện thoại đã tồn tại trong bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1

INSERT INTO suppliers(name, phone, address) VALUES( 'XYZ Corporation','(408)-908-2476','3000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)

MySQL đã đưa ra một lỗi

Error Code: 1062. Duplicate entry '(408)-908-2476' for key 'phone'

Code language: JavaScript (javascript)

Thứ tư, thay đổi số điện thoại thành một số khác và thực hiện lại câu lệnh chèn

INSERT INTO suppliers(name, phone, address) VALUES( 'XYZ Corporation','(408)-908-3333','3000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)

Thứ năm, chèn một hàng vào bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1 với các giá trị đã tồn tại trong các cột

CONSTRAINT uc_name_address UNIQUE (name , address)

Code language: SQL (Structured Query Language) (sql)
0 và

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
6

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
0

MySQL đưa ra lỗi vì ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0

CONSTRAINT uc_name_address UNIQUE (name , address)

Code language: SQL (Structured Query Language) (sql)
3 đã bị vi phạm

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
1

Các ràng buộc và chỉ mục của MySQL [CONSTRAINT constraint_name] UNIQUE(column_list)Code language: SQL (Structured Query Language) (sql)0

Khi bạn xác định một ràng buộc duy nhất, MySQL sẽ tạo một chỉ mục

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 tương ứng và sử dụng chỉ mục này để thực thi quy tắc

Câu lệnh

CONSTRAINT uc_name_address UNIQUE (name , address)

Code language: SQL (Structured Query Language) (sql)
6 hiển thị định nghĩa của bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
2
Ràng buộc duy nhất của phpMyAdmin
Ràng buộc duy nhất của phpMyAdmin

Như bạn có thể thấy từ đầu ra, MySQL đã tạo hai chỉ mục

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 trên bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1.

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
4 và

CONSTRAINT uc_name_address UNIQUE (name , address)

Code language: SQL (Structured Query Language) (sql)
3

Câu lệnh

INSERT INTO suppliers(name, phone, address) VALUES( 'ABC Inc', '(408)-908-2476', '4000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)
2 sau đây hiển thị tất cả các chỉ mục được liên kết với bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
3
Ràng buộc duy nhất của phpMyAdmin
Ràng buộc duy nhất của phpMyAdmin

Bỏ một ràng buộc duy nhất

Để loại bỏ một ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0, bạn có thể sử dụng câu lệnh

INSERT INTO suppliers(name, phone, address) VALUES( 'ABC Inc', '(408)-908-2476', '4000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)
5 hoặc

INSERT INTO suppliers(name, phone, address) VALUES( 'ABC Inc', '(408)-908-2476', '4000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)
6

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
4

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
5

Ví dụ: câu lệnh sau loại bỏ ràng buộc

CONSTRAINT uc_name_address UNIQUE (name , address)

Code language: SQL (Structured Query Language) (sql)
3 trên bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
6

Thực hiện lại câu lệnh

INSERT INTO suppliers(name, phone, address) VALUES( 'ABC Inc', '(408)-908-2476', '4000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)
9 để xác minh xem ràng buộc

INSERT INTO suppliers(name, phone, address) VALUES( 'XYZ Corporation','(408)-908-2476','3000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)
0 đã được gỡ bỏ chưa

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
3
Ràng buộc duy nhất của phpMyAdmin
Ràng buộc duy nhất của phpMyAdmin

Thêm ràng buộc duy nhất mới

INSERT INTO suppliers(name, phone, address) VALUES( 'XYZ Corporation','(408)-908-2476','3000 North 1st Street');

Code language: SQL (Structured Query Language) (sql)
1 sau đây thêm một ràng buộc duy nhất vào một cột của bảng hiện có

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
8

Câu lệnh này thêm một ràng buộc

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0

CONSTRAINT uc_name_address UNIQUE (name , address)

Code language: SQL (Structured Query Language) (sql)
3 trở lại bảng

phone VARCHAR(12) NOT NULL UNIQUE

Code language: SQL (Structured Query Language) (sql)
1

CREATE TABLE table_name( ... column_name1 column_definition, column_name2 column_definition, ..., UNIQUE(column_name1,column_name2) );

Code language: SQL (Structured Query Language) (sql)
9
Ràng buộc duy nhất của phpMyAdmin
Ràng buộc duy nhất của phpMyAdmin

Lưu ý rằng MySQL sẽ không thêm ràng buộc duy nhất nếu dữ liệu hiện có trong các cột được chỉ định trong ràng buộc duy nhất không tuân thủ quy tắc duy nhất.

Trong hướng dẫn này, bạn đã học cách sử dụng ràng buộc MySQL

[CONSTRAINT constraint_name] UNIQUE(column_list)

Code language: SQL (Structured Query Language) (sql)
0 để thực thi tính duy nhất của các giá trị trong một cột hoặc nhóm cột của bảng

Làm cách nào để đặt giá trị duy nhất trong phpMyAdmin?

Cách dễ nhất để tạo khóa duy nhất trong phpMyAdmin là tạo bảng trước. Sau khi bảng được tạo, hãy chọn các hộp kiểm bên cạnh các cột là duy nhất khi được kết hợp và nhấp vào Duy nhất bên dưới bảng .

Làm cách nào để sử dụng ràng buộc duy nhất trong MySQL?

Đôi khi chúng tôi muốn thêm một khóa duy nhất vào cột của một bảng hiện có; . Sau đây là cú pháp của câu lệnh ALTER TABLE để thêm một khóa duy nhất. ALTER TABLE table_name THÊM CONSTRAINT constraint_name UNIQUE(column_list);

Ví dụ ràng buộc duy nhất là gì?

Ví dụ 1. Giá trị duy nhất . Hãy xem xét bảng Person. Mỗi người đều có tên, tuổi và ngày sinh. Tuy nhiên, những giá trị này không phải là duy nhất cho mỗi người; . when the column must contain a unique value for each row. Let's consider the Person table. Each person has a name, age, and a date of birth. However, these values are not unique to each person; there can be two persons with the same name or the same date of birth.

Làm cách nào để đặt một trường duy nhất trong MySQL?

Cú pháp thêm ĐỘC ĐÁO vào trường hiện có. alter table yourTableName add UNIQUE(yourColumnName); Áp dụng cú pháp trên để thêm UNIQUE vào cột 'tên'. Bây giờ chúng tôi không thể chèn các bản ghi trùng lặp vào bảng vì chúng tôi đã đặt trường là duy nhất.