Điều gì xảy ra với trigger trong MySQL nếu một thao tác mà `t...
Điều gì xảy ra với trigger trong MySQL nếu một thao tác mà `t...
Trong MySQL, trigger là một loại đối tượng cơ sở dữ liệu được thiết kế để tự động thực hiện một hoặc nhiều lệnh SQL khi một sự kiện cụ thể xảy ra, chẳng hạn như thêm, cập nhật, hoặc xóa một hàng trong bảng. Trigger được liên kết với một bảng và được kích hoạt bởi các hoạt động DML (Data Manipulation Language) trên bảng đó.
Trigger khi thao tác thất bạiKhi một thao tác mà trigger liên kết với thất bại, việc thực thi trigger phụ thuộc vào thời điểm trigger được kích hoạt trong quá trình thực hiện thao tác:
trigger được định nghĩa để chạy trước khi thao tác (INSERT, UPDATE, DELETE) được hoàn tất (BEFORE trigger), và nếu thao tác này thất bại do một lỗi (ví dụ, vi phạm ràng buộc dữ liệu), thì trigger sẽ đã được thực thi trước khi lỗi xảy ra. Tuy nhiên, do thao tác gốc thất bại, bất kỳ thay đổi nào mà trigger thực hiện cũng sẽ không được cam kết (commit)...expert