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 :
  1. BEFORE INSERT
  2. AFTER INSERT
  3. BEFORE UPDATE
  4. AFTER UPDATE
  5. BEFORE DELETE
  6. 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 :

  1. tb_jurusan_pertama sebagai tabel induk
  2. tb_jurusan_kedua sebagai tabel anak
tabel-jurusan



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
--

--
-- 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

trigger insert jurusan


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

update trigger

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

trigger 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