Hướng dẫn how does insert ignore work in mysql? - cách chèn bỏ qua hoạt động trong mysql?

Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu 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.: in this tutorial, you will learn how to use the MySQL

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

Code language: SQL (Structured Query Language) (sql)
2 statement to insert data into a table.

Giới thiệu về tuyên bố của 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 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 & nbsp; và trả về 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 bị bỏ qua và các hàng có dữ liệu hợp lệ đượ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à một phần mở rộng của MySQL so với tiêu chuẩn SQL.

Ví dụ 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 tôi sẽ tạo một bảng mới gọi là

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

Code language: SQL (Structured Query Language) (sql)
9 cho cuộc biểu tình.

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

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

Hạn chế

INSERT INTO subscribers(email) VALUES('');

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

INSERT INTO subscribers(email) VALUES('');

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

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

INSERT INTO subscribers(email) VALUES('');

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

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 & nbsp; ____ 19 19:

INSERT INTO subscribers(email) VALUES(''), ('');

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

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

Error Code: 1062. Duplicate entry '' for key 'email'

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

Như đã nêu trong thông báo lỗi, email ________ 24 & nbsp; vi phạm & nbsp; ràng buộc

INSERT INTO subscribers(email) VALUES('');

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

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ế.

INSERT IGNORE INTO subscribers(email) VALUES(''), ('');

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

MySQL đã trả lại một tin nhắn cho biết một hàng đã được chèn và hàng kia đã bị bỏ qua.

1 row(s) affected, 1 warning(s): 1062 Duplicate entry '' for key 'email' Records: 2 Duplicates: 1 Warnings: 1

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

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

INSERT INTO subscribers(email) VALUES('');

Code language: SQL (Structured Query Language) (sql)
7 như được hiển thị bên dưới:

SHOW WARNINGS;

Code language: SQL (Structured Query Language) (sql)
in Kết luận, 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.
Hướng dẫn how does insert ignore work in mysql? - cách chèn bỏ qua hoạt động trong mysql?

In conclusion, when you use the

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

Code language: SQL (Structured Query Language) (sql)
2 statement, instead of issuing an error, MySQL issued a warning in case an error occurs.

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à hàng mà & nbsp; gây ra lỗi là không.

Hướng dẫn how does insert ignore work in mysql? - cách chèn bỏ qua hoạt động trong mysql?

Mysql CREATE TABLE subscribers ( id INT PRIMARY KEY AUTO_INCREMENT, email VARCHAR(50) NOT NULL UNIQUE ); Code language: SQL (Structured Query Language) (sql)2 và ________ 31 & nbsp; mode

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 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 các ví dụ sau.

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

INSERT INTO subscribers(email) VALUES(''), ('');

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

CREATE TABLE tokens ( s VARCHAR(6) );

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

Trong bảng này, cột

INSERT INTO subscribers(email) VALUES(''), ('');

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

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

INSERT INTO subscribers(email) VALUES(''), ('');

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

INSERT INTO tokens VALUES('abcdefg');

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

MySQL đã phát hành 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 dữ liệu trước khi chèn nó vào bảng

INSERT INTO subscribers(email) VALUES(''), ('');

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

Hướng dẫn how does insert ignore work in mysql? - cách chèn bỏ qua hoạt động trong mysql?

Trong hướng dẫn này, bạn đã học đượ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 bảng và bỏ qua lỗi cho các hàng gây ra lỗi.

Hướng dẫn này có hữu ích không?

Chèn chèn có nghĩa là gì?

Thay vào đó, chỉ có một cảnh báo được tạo ra. Các trường hợp chèn bỏ qua tránh lỗi. Khi chèn một khóa trùng lặp trong đó cột phải chứa khóa chính hoặc ràng buộc duy nhất. Khi chèn giá trị null trong đó cột có ràng buộc không null.avoids error. Upon insertion of a duplicate key where the column must contain a PRIMARY KEY or UNIQUE constraint. Upon insertion of NULL value where the column has a NOT NULL constraint.

Tôi có nên sử dụng chèn bỏ qua không?

Việc chèn các lệnh bỏ qua và thay thế nên được chọn theo hành vi xử lý trùng lặp mà bạn muốn thực hiện.Lệnh chèn chèn bỏ qua bộ đầu tiên của các bản ghi trùng lặp và loại bỏ phần còn lại.Lệnh thay thế giữ cho tập hợp các bản sao cuối cùng và xóa bất kỳ lệnh nào trước đó.should be chosen as per the duplicate-handling behavior you want to effect. The INSERT IGNORE command keeps the first set of the duplicated records and discards the remaining. The REPLACE command keeps the last set of duplicates and erases out any earlier ones.

Làm thế nào để chèn hoạt động trong mysql?

Lệnh chèn MySQL được sử dụng để chèn các giá trị đã chỉ định Các giá trị chèn vào các cột FirstName và LastName của bảng HYSQL của khách hàng.Vì cột tuổi sử dụng null làm giá trị mặc định, MySQL chèn null vào cột tuổi nếu bạn không chỉ định rõ ràng giá trị của nó trong câu lệnh chèn.The command inserts values in the FirstName and LastName columns of the Customers MySQL table. Since the Age column uses Null as a default value, MySQL inserts Null into the Age column if you do not specify explicitly its value in the INSERT statement.

Chèn () có thay thế không?

Bạn có thể sử dụng câu lệnh chèn hoặc thay thế để viết các hàng mới hoặc thay thế các hàng hiện có trong bảng.Cú pháp và hành vi của câu lệnh chèn hoặc thay thế tương tự như câu lệnh chèn.Không giống như câu lệnh INSERT, câu lệnh chèn hoặc thay thế không tạo ra lỗi nếu một hàng đã tồn tại.. The syntax and behavior of the INSERT OR REPLACE statement is similar to the INSERT statement. Unlike the INSERT statement, the INSERT OR REPLACE statement does not generate an error if a row already exists.