Pertama, buat tabel baru dengan nama employees_audituntuk menyimpan perubahan pada employeestabel:
CREATE TABLE employees_audit (
id INT AUTO_INCREMENT PRIMARY KEY,
employeeNumber INT NOT NULL,
lastname VARCHAR(50) NOT NULL,
changedat DATETIME DEFAULT NULL,
action VARCHAR(50) DEFAULT NULL
);Bahasa kode: SQL (Bahasa Kueri Terstruktur) ( sql )Selanjutnya, buat BEFORE UPDATEpemicu yang dipanggil sebelum perubahan dilakukan pada employeestabel.
CREATE TRIGGER before_employee_update
BEFORE UPDATE ON employees
FOR EACH ROW
INSERT INTO employees_audit
SET action = 'update',
employeeNumber = OLD.employeeNumber,
lastname = OLD.lastname,
changedat = NOW();Bahasa kode: SQL (Bahasa Kueri Terstruktur) ( sql )Di dalam badan pemicu, kami menggunakan OLDkata kunci untuk mengakses nilai kolom employeeNumber dan lastnamebaris yang dipengaruhi oleh pemicu.
Lalu, tampilkan semua pemicu di database saat ini dengan menggunakan SHOW TRIGGERSpernyataan:
SHOW TRIGGERS;Bahasa kode: SQL (Bahasa Kueri Terstruktur) ( sql )
Selain itu, jika Anda melihat skema menggunakan MySQL Workbench di bawah Employee > triggers , Anda akan melihat before_employee_updatepemicunya seperti yang ditunjukkan pada gambar di bawah:

Setelah itu, perbarui satu baris dalam employeestabel:
UPDATE employees
SET
lastName = 'Phan'
WHERE
employeeNumber = 1056;Bahasa kode: SQL (Bahasa Kueri Terstruktur) ( sql )Terakhir, kueri employees_audittabel untuk memeriksa apakah pemicu dipicu oleh UPDATEpernyataan:
SELECT * FROM employees_audit;