Bài MySQL 28: Lệnh INSERT IGNORE trong MySQLBài MySQL 28: Lệnh INSERT IGNORE trong MySQL

0
86

Xin chào các bạn, trong bài học ngày hôm nay mình sẽ hướng dẫn các bạn sử dụng lệnh INSERT IGNORE trong MySQL để chèn dữ liệu vào một bảng.

Giới thiệu

Khi bạn sử dụng câu lệnh INSERT để thêm nhiều hàng vào một bảng và nếu có một lỗi xảy ra trong quá trình xử lý, MySQL sẽ chấm dứt câu lệnh và trả về lỗi đó, dẫn đến 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 INSERT IGNORE thì các hàng có dữ liệu không hợp lệ sẽ bị bỏ qua và các hàng có dữ liệu hợp lệ vẫn sẽ tiếp tục được chèn vào bảng.

Cú pháp của câu lệnh INSERT IGNORE như sau:

Ví dụ về câu lệnh INSERT IGNORE

Chúng ta sẽ tạo ra một bảng mới có tên là subscribers như sau:

Toán tử UNIQUE giúp bạn đảm bảo rằng không có email nào trùng lặp tồn tại trong cột email.

Câu lệnh sau sẽ chèn một hàng mới vào bảng subcribers:

Nó sẽ chạy đúng như những gì bạn mong muốn. Bây giờ bạn hãy thực hiện một câu lệnh khác để chèn hai hàng vào bảng subcribers, câu lệnh đó như sau:

Lúc này nó sẽ trả về một lỗi:

Như trong thông báo lỗi trên, email john.doe@gmail.com vi phạm nguyên tắc vì bạn sử dụng toán tử UNIQUE.

Tuy nhiên, nếu bạn sử dụng câu lệnh INSERT IGNORE để thay thế.

thì MySQL sẽ trả về một thông báo chỉ ra rằng một hàng đã được chèn vào và một hàng khác đã bị bỏ qua.

Lệnh INSERT IGNORE với chế độ STRICT

Khi chế độ STRICT được bật, MySQL sẽ trả về một lỗi và hủy bỏ các câu lệnh INSERT 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 INSERT IGNORE, MySQL sẽ đưa ra một cảnh báo thay vì một 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.

Ví dụ: Đầu tiên, chúng ta tạo một bảng mới có tên là tokens:

Trong bảng này, các cột chỉ chấp nhận chuỗi có độ dài nhỏ hơn hoặc bằng sáu.

Tiếp theo chèn một chuỗi có chiều dài là 7 vào bảng tokens.

MySQL sẽ thông báo lỗi sau vì chế độ STRICT được bật:

Tuy nhiên nếu bạn sử dụng lệnh INSERT IGNORE để chèn chuỗi đó vào bảng thì MySQL sẽ cắt ngắn chuỗi đó trước khi chènvào bảng. Ngoài ra, nó đưa ra cảnh báo.

Kết luận

Như vậy trong bài học ngày hôm nay mình đã hướng dẫn các bạn sử dụng câu lệnh INSERT IGNORE trong MySQL để chèn dữ liệu vào một bảng. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về câu lệnh UPDATE trong MySQL.

Chúc các bạn học tập tốt!

Xin chào các bạn, trong bài học ngày hôm nay mình sẽ hướng dẫn các bạn sử dụng lệnh INSERT IGNORE trong MySQL để chèn dữ liệu vào một bảng.

Giới thiệu

Khi bạn sử dụng câu lệnh INSERT để thêm nhiều hàng vào một bảng và nếu có một lỗi xảy ra trong quá trình xử lý, MySQL sẽ chấm dứt câu lệnh và trả về lỗi đó, dẫn đến 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 INSERT IGNORE thì các hàng có dữ liệu không hợp lệ sẽ bị bỏ qua và các hàng có dữ liệu hợp lệ vẫn sẽ tiếp tục được chèn vào bảng.

Cú pháp của câu lệnh INSERT IGNORE như sau:

Ví dụ về câu lệnh INSERT IGNORE

Chúng ta sẽ tạo ra một bảng mới có tên là subscribers như sau:

Toán tử UNIQUE giúp bạn đảm bảo rằng không có email nào trùng lặp tồn tại trong cột email.

Câu lệnh sau sẽ chèn một hàng mới vào bảng subcribers:

Nó sẽ chạy đúng như những gì bạn mong muốn. Bây giờ bạn hãy thực hiện một câu lệnh khác để chèn hai hàng vào bảng subcribers, câu lệnh đó như sau:

Lúc này nó sẽ trả về một lỗi:

Như trong thông báo lỗi trên, email john.doe@gmail.com vi phạm nguyên tắc vì bạn sử dụng toán tử UNIQUE.

Tuy nhiên, nếu bạn sử dụng câu lệnh INSERT IGNORE để thay thế.

thì MySQL sẽ trả về một thông báo chỉ ra rằng một hàng đã được chèn vào và một hàng khác đã bị bỏ qua.

Lệnh INSERT IGNORE với chế độ STRICT

Khi chế độ STRICT được bật, MySQL sẽ trả về một lỗi và hủy bỏ các câu lệnh INSERT 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 INSERT IGNORE, MySQL sẽ đưa ra một cảnh báo thay vì một 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.

Ví dụ: Đầu tiên, chúng ta tạo một bảng mới có tên là tokens:

Trong bảng này, các cột chỉ chấp nhận chuỗi có độ dài nhỏ hơn hoặc bằng sáu.

Tiếp theo chèn một chuỗi có chiều dài là 7 vào bảng tokens.

MySQL sẽ thông báo lỗi sau vì chế độ STRICT được bật:

Tuy nhiên nếu bạn sử dụng lệnh INSERT IGNORE để chèn chuỗi đó vào bảng thì MySQL sẽ cắt ngắn chuỗi đó trước khi chènvào bảng. Ngoài ra, nó đưa ra cảnh báo.

Kết luận

Như vậy trong bài học ngày hôm nay mình đã hướng dẫn các bạn sử dụng câu lệnh INSERT IGNORE trong MySQL để chèn dữ liệu vào một bảng. Trong bài học tiếp theo chúng ta sẽ tìm hiểu về câu lệnh UPDATE trong MySQL.

Chúc các bạn học tập tốt!

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây