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 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)2Khi bạn sử dụng câu lệnh 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 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 2 như sau
Lưu ý rằng mệnh đề 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)2Chúng ta sẽ tạo một bảng mới có tên là 9 để trình diễn
Ràng buộc 00 đảm bảo rằng không có email trùng lặp nào tồn tại trong cột 01 Câu lệnh sau đây chèn một hàng mới vào bảng 9 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 9 5 Nó trả về một lỗi 6 Như đã chỉ ra trong thông báo lỗi, email 04 vi phạm ràng buộc 00 Tuy nhiên, nếu bạn sử dụng câu lệnh 2 để thay thế 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 1 Để tìm chi tiết cảnh báo, bạn có thể sử dụng lệnh 07 như hình bên dưới 3 Tóm lại, khi bạn sử dụng câu lệnh 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 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 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 MySQLKhi chế độ nghiêm ngặt được bật, MySQL sẽ trả về lỗi và hủy bỏ câu lệnh 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 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à 54 1 Trong bảng này, cột 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 54 4 MySQL đã đưa ra lỗi sau vì chế độ nghiêm ngặt được bật 0 Thứ ba, sử dụng câu lệnh 2 để chèn cùng một chuỗi 1 MySQL đã cắt bớt dữ liệu trước khi chèn nó vào bảng 54. Ngoài ra, nó đưa ra một cảnh báo Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh MySQL 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 |