Tutorial Lengkap Membuat Trigger Tabel MySQL di phpMyAdmin
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
- AFTER INSERT
- BEFORE UPDATE
- AFTER UPDATE
- BEFORE DELETE
- AFTER DELETE
Perbedaan Before dan After Pada Trigger MySQL
Before Trigger adalah jenis trigger yang secara otomatis dijalankan sebelum operasi tertentu terjadi pada tabel . Sebaliknya, after trigger adalah jenis trigger yang secara otomatis dijalankan setelah operasi tertentu terjadi pada tabel. Oleh karena itu, definisi ini menjelaskan perbedaan mendasar antara sebelum dan sesudah pemicu/trigger di MySQL.
Membuat Trigger Tabel di MySQL
Contoh yang akan saya berikan dalam tutorial ini adalah contoh trigger dengan event AFTER Insert, Update, dan Delete. Untuk Contoh before mungkin akan dibahasa pada sesi berikutnya atau akan ditambahkan/diedit di postingan ini
Persiapan Tabel
Dalam contoh ini saya sudah mempersiapkan dua buah tabel yaitu :
https://www.root93.co.id/2022/09/membuat-history-edit-dengan-trigger-mysql.html
- tb_jurusan_pertama sebagai tabel induk
- tb_jurusan_kedua sebagai tabel anak
https://www.root93.co.id/2022/09/membuat-history-edit-dengan-trigger-mysql.html
CREATE TABLE `tb_jurusan_kedua` (
`id` int(10) UNSIGNED NOT NULL,
`nama_jurusan` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- --------------------------------------------------------
--
-- Table structure for table `tb_jurusan_pertama`
--
CREATE TABLE `tb_jurusan_pertama` (
`id` int(10) UNSIGNED NOT NULL,
`nama_jurusan` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Indexes for dumped tables
--https://www.root93.co.id/2022/09/membuat-history-edit-dengan-trigger-mysql.html
--
-- Indexes for table `tb_jurusan_kedua`
--
ALTER TABLE `tb_jurusan_kedua`
ADD PRIMARY KEY (`id`),
ADD KEY `id` (`id`);
--
-- Indexes for table `tb_jurusan_pertama`
--
ALTER TABLE `tb_jurusan_pertama`
ADD PRIMARY KEY (`id`),
ADD KEY `id` (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tb_jurusan_kedua`
--
ALTER TABLE `tb_jurusan_kedua`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `tb_jurusan_pertama`
--
ALTER TABLE `tb_jurusan_pertama`
MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
COMMIT;
Selanjutnya buatlah sebuah trigger klik pada tb_jurusan_pertama, lalu klik Menu Triggers lalu pilih Add trigger
AFTER INSERT
Buat untuk trigger insert seperti berikut
Pada Definition Anda perlu mendefinisikan atau memasukan perintah untuk event after yang akkan dijalankan, gunakan contoh query seperti berikut
Query di Definition :
INSERT INTO tb_jurusan_kedua VALUES(null, NEW.nama_jurusan);
AFTER UPDATE
Jika nama jurusan pada tabel induk dirubah, maka secara otomatis juga akan merubah nama jurusan pada tabel anak
Query di Definition :
UPDATE tb_jurusan_kedua
SET
nama_jurusan = NEW.nama_jurusan
WHERE
id = NEW.id
AFTER DELETE
Jika data pada tabel jurusan pertama dihapus maka trigger mysql akan menghapus data pada tabel jurusan kedua
Query di Definition:
DELETE FROM tb_jurusan_kedua WHERE tb_jurusan_kedua.id = old.id
Selanjutnya Anda bisa langsung menguji trigger tersebut dengan melakukan operasi pada tabel tb_jurusan_pertama seperti melakukan INSERT, UPDATE dan DELETE Data, jika berhasil maka tabel kedua atau tb_jurusan_kedua akan ikut terpengaruh
Lihat juga tuorialnya di youtube
0 Response to "Tutorial Lengkap Membuat Trigger Tabel MySQL di phpMyAdmin"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin