Nhập bàn làm việc của MySQL bỏ qua các bản sao

Tóm lược. 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
Nhập bàn làm việc của MySQL bỏ qua các bản sao
Nhập bàn làm việc của MySQL bỏ qua các bản sao

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

Nhập bàn làm việc của MySQL bỏ qua các bản sao
Nhập bàn làm việc của MySQL bỏ qua các bản sao

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 ta 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

Nhập bàn làm việc của MySQL bỏ qua các bản sao
Nhập bàn làm việc của MySQL bỏ qua các bản sao

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

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

Sử dụng lệnh INSERT IGNORE thay vì lệnh INSERT . Nếu một bản ghi không trùng lặp với một bản ghi hiện có, thì MySQL sẽ chèn nó như bình thường. Nếu bản ghi trùng lặp, thì từ khóa IGNORE yêu cầu MySQL loại bỏ nó một cách âm thầm mà không tạo ra lỗi.

Làm cách nào để tránh các bản ghi trùng lặp trong truy vấn CHỌN của MySQL?

Giải pháp để loại bỏ các hàng trùng lặp khỏi tập hợp kết quả của bạn là bao gồm từ khóa riêng biệt trong câu lệnh chọn của bạn . Nó yêu cầu công cụ truy vấn loại bỏ các bản sao để tạo ra một tập kết quả trong đó mỗi hàng là duy nhất.

Làm cách nào để ngăn các bản ghi trùng lặp trong MySQL bằng PHP?

bạn cũng có thể sử dụng mysql_fetch_row() thay vì mysql_num_rows() . Nếu giá trị có trong bảng, nó không thể được lưu trữ trong bảng. Bây giờ bạn có thể tránh các mục trùng lặp trong bảng bằng PHP và Mysql.

Làm cách nào bạn có thể lọc dữ liệu trùng lặp trong khi truy xuất bản ghi từ bảng?

Sau khi đã nhóm dữ liệu, bạn có thể lọc ra các dữ liệu trùng lặp bằng cách sử dụng mệnh đề có . Mệnh đề có là đối tác của mệnh đề where cho các truy vấn tổng hợp. Chỉ cần nhớ cung cấp một tên tạm thời cho dữ liệu đếm() để sử dụng chúng trong mệnh đề có.