Anda tidak dapat mengubah tabel saat pemicu INSERT diaktifkan. INSERT mungkin melakukan penguncian yang dapat mengakibatkan kebuntuan. Juga, memperbarui tabel dari pemicu kemudian akan menyebabkan pemicu yang sama menyala lagi dalam loop rekursif tak terbatas. Kedua alasan inilah mengapa MySQL mencegah Anda melakukan hal ini.
Namun, bergantung pada apa yang ingin Anda capai, Anda dapat mengakses nilai baru dengan menggunakan NEW.fieldname atau bahkan nilai lama--jika melakukan UPDATE--dengan OLD.
Jika Anda memiliki baris bernama full_brand_name
dan Anda ingin menggunakan dua huruf pertama sebagai nama pendek di bidang small_name
Anda dapat menggunakan:
CREATE TRIGGER `capital` BEFORE INSERT ON `brandnames`
FOR EACH ROW BEGIN
SET NEW.short_name = CONCAT(UCASE(LEFT(NEW.full_name,1)) , LCASE(SUBSTRING(NEW.full_name,2)))
END