Về cơ bản, MySQL trigger là một tập hợp câu lệnh được lưu trong danh mục cơ sở dữ liệu. Đối tượng này luôn gắn với một bảng, được định nghĩa để kích hoạt khi một sự kiện cụ thể xảy ra cho bảng đó. Nói cách khác, trigger là một loại stored procedure đặc biệt. Khác với stored procedure là trigger không được gọi trực tiếp. Nó được gọi tự động khi sự kiện sửa đổi dữ liệu đối với bảng xảy ra. Trigger thực thi khi chạy một trong các câu lệnh: INSERT, UPDATE, DELETE trên bảng, và có thể kích hoạt BEFORE hoặc AFTER sự kiện. Trigger chạy lặng lẽ mà người dùng không hề biết. Chúng không thể chứa COMMIT hoặc ROLLBACK.
Sự kiện kích hoạt (Triggering events) về cơ bản là hành động theo thời gian, tức là khi trigger kích hoạt. Các sự kiện liên quan:
- INSERT — Trigger liên quan đến chèn dữ liệu. Kích hoạt
BEFOREhoặcAFTERchèn. - DELETE — Trigger liên quan đến xóa dữ liệu. Kích hoạt
BEFOREhoặcAFTERxóa. - UPDATE — Trigger liên quan đến cập nhật dữ liệu. Kích hoạt
BEFOREhoặcAFTERcập nhật.