Làm cách nào để bỏ qua các mục trùng lặp trong mysql?

Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh MySQL

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2 để chèn dữ liệu vào bảng

Giới thiệu về câu lệnh MySQL CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE ); Code language: SQL (Structured Query Language) (sql)2

Khi bạn sử dụng câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
4 để thêm nhiều hàng vào một bảng và nếu xảy ra lỗi trong quá trình xử lý, MySQL sẽ chấm dứt câu lệnh và trả về một lỗi. Kết quả là không có hàng nào được chèn vào bảng

Tuy nhiên, nếu bạn sử dụng câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2, các hàng có dữ liệu không hợp lệ gây ra lỗi sẽ bị bỏ qua và các hàng có dữ liệu hợp lệ sẽ được chèn vào bảng

Cú pháp của câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2 như sau

INSERT IGNORE INTO table(column_list) VALUES( value_list), ( value_list), ...

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

Lưu ý rằng mệnh đề

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
7 là phần mở rộng của MySQL theo tiêu chuẩn SQL

Ví dụ về MySQL CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE ); Code language: SQL (Structured Query Language) (sql)2

Chúng ta sẽ tạo một bảng mới có tên là

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
9 để trình diễn

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Ràng buộc

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
00 đảm bảo rằng không có email trùng lặp nào tồn tại trong cột

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Câu lệnh sau đây chèn một hàng mới vào bảng  

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Nó hoạt động như mong đợi

Hãy thực hiện một câu lệnh khác để chèn hai hàng vào bảng  

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Nó trả về một lỗi

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Như đã chỉ ra trong thông báo lỗi, email

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
04 vi phạm ràng buộc

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Tuy nhiên, nếu bạn sử dụng câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2 để thay thế

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

MySQL trả về một thông báo cho biết rằng một hàng đã được chèn và hàng kia đã bị bỏ qua

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Để tìm chi tiết cảnh báo, bạn có thể sử dụng lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
07 như hình bên dưới

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
3
Làm cách nào để bỏ qua các mục trùng lặp trong mysql?
Làm cách nào để bỏ qua các mục trùng lặp trong mysql?

Tóm lại, khi bạn sử dụng câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2, thay vì đưa ra lỗi, MySQL đưa ra cảnh báo trong trường hợp xảy ra lỗi

Nếu bạn truy vấn dữ liệu từ bảng

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
9, bạn sẽ thấy rằng chỉ có một hàng thực sự được chèn vào và hàng gây ra lỗi thì không

Làm cách nào để bỏ qua các mục trùng lặp trong mysql?
Làm cách nào để bỏ qua các mục trùng lặp trong mysql?

Chế độ CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE ); Code language: SQL (Structured Query Language) (sql)2 và CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE ); Code language: SQL (Structured Query Language) (sql)51 của MySQL

Khi chế độ nghiêm ngặt được bật, MySQL sẽ trả về lỗi và hủy bỏ câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
4 nếu bạn cố gắng chèn các giá trị không hợp lệ vào một bảng

Tuy nhiên, nếu bạn sử dụng câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2, MySQL sẽ đưa ra cảnh báo thay vì lỗi. Ngoài ra, nó sẽ cố gắng điều chỉnh các giá trị để làm cho chúng hợp lệ trước khi thêm giá trị vào bảng

Xem xét ví dụ sau

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

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Trong bảng này, cột

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
55 chỉ chấp nhận chuỗi có độ dài nhỏ hơn hoặc bằng sáu

Thứ hai, chèn một chuỗi có độ dài là bảy vào bảng

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

MySQL đã đưa ra lỗi sau vì chế độ nghiêm ngặt được bật

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

Thứ ba, sử dụng câu lệnh

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2 để chèn cùng một chuỗi

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

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

MySQL đã cắt bớt dữ liệu trước khi chèn nó vào bảng

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
54. Ngoài ra, nó đưa ra một cảnh báo

Làm cách nào để bỏ qua các mục trùng lặp trong mysql?
Làm cách nào để bỏ qua các mục trùng lặp trong mysql?

Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh MySQL

CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE );

Code language: SQL (Structured Query Language) (sql)
2 để chèn các hàng vào một bảng và bỏ qua lỗi đối với các hàng gây ra lỗi