Blog
Tutorial Menggunakan Trigger Pada Database MySQL
- October 27, 2016
- Posted by: Nuris Akbar SST, M.Kom
- Category: Tutorial MySQL

Trigger merupakan store procedure yang dijalankan secara automatis saat user melakukan modifikasi data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu berupa perintah INSERT, UPDATE, dan DELETE. INSERT , UPDATE dan DELETE bisa digabung jadi satu trigger yang dinamakan Multiple Trigger. ada beberapa event yang bisa kita gunakan untuk mengekseskusi triger yaitu :
- BEFORE INSERT – dijalankan ketika data di masukan ke dalam table.
- AFTER INSERT – dijalankan setelah data masuk ke dalam table.
- BEFORE UPDATE – dijalankan sebelum proses update data.
- AFTER UPDATE – dijalankan setelah proses proses update data.
- BEFORE DELETE – dijalankan sebelum proses delete data.
- AFTER DELETE – dijalankan setelah proses delete data.
Membuat Tabel Yang Akan Digunakan
Kita akan membuat fitur yang mencatat log perubahan harga barang pada sebuah database penjualan, dimana terdapat tabel produk sebagai tabel untuk menyimpan informasi produk yang memiliki field kode_produk, nama_produk dan harga.
lalu kita akan membuat sebuah tabel log_harga_produk untuk menyimpan informasi perubahan harga produk, informasi yang akan kita simpan adalah kode_produk, harga_lama, harga_baru dan watu_perubahan.
Cara Membuat Trigger MySQL
selanjutnya kita akan membuat sebuah trigger untuk mencatat perubahan harga produk ketika sebuah record produk di update, sintaks untuk membuat trigger dengan kondisi di atas adalah sebagai berikut :
DELIMITER $$ CREATE TRIGGER before_produk_update BEFORE UPDATE ON produk FOR EACH ROW BEGIN INSERT INTO log_harga_produk set kode_produk = OLD.kode_produk, harga_baru=new.harga, harga_lama=old.harga, waktu_perubahan = NOW(); END$$ DELIMITER ;
Penjelesan Script :
- Line 2 – Kita membuat sebuah trigger baru dengan nama before_produk_update
- line 3 – Pada Trigger ini kita menggunakan event BEFORE UPDATE
- line 6 – Query SQL untuk melakukan insert data ke tabel log_harga_produk
Uji Coba Trigger
setelah semua nya selesai kita akan melakukan uji coba terhadap trigger yang kita buat, kita akan melakukan insert beberapa data yang akan kita gunakan untuk ujicoba :
INSERT INTO `produk` VALUES ('BR001','SEMINGGU JAGO CODEIGNITER',120000); INSERT INTO `produk` VALUES ('BR002','SEMINGGU JAGO PHP MYSQL',80000);
lalu kita akan mencoba menampilkan hasil data yang sudah kita input
langkah selanjutnya adalah kita akan melakukan update data produk :
update produk set harga=90000 WHERE kode_produk='BR001'
seperti yang anda lihat bahkan setelah kita melakukan proses update data lalu muncul sebuah record baru pada tabel log_harga_produk tentang informasi perubahan data produk yang sudah di update.
Cara Menampilkan List Trigger
untuk menampilkan list trigger pada sebuah database bisa menggunakan perintah berikut :
SHOW TRIGGERS
Cara Menghapus Trigger
mungkin usatu ketika anda ingin menghapus triger yang sudah anda buat, cara nya adalah seperti berikut :
DROP TRIGGER nama_trigger ; //contoh implementasinya DROP TRIGGER before_produk_update ;
Penutup Dan Kesimpulan
kesimpulannya adalah triger ini kita manfaatkan untuk mengeksekusi sebuah perintah sql berdasarkan event/ kondisi tertentu, walaupun anda bisa membuatnya secara manual menggunakan bahasa pemograman tertentu tapi dengan adanya Trigger tentu sangat membantu developer. sekian postingan tutorial membuat trigger pada database MySQL, anda bisa mencoba menggunakan event lain untuk memperdalam pemahaman tentang Trigger pada MySQL, semoga bermanfaat.
Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.
Baca Artikel Terkain Menarik Lain:
Author:nuris


Nuris Akbar SST, M.Kom
Senior Backend Web Developer Dengan Pengalaman Lebih Dari 8 Tahun, Sekarang Menjadi CTO Di Startup Globalvillage, Founder Academy Diigtal Dan Instruktur Training Di PT Brainamtics Cipta Informatika.