Dalam UPDATE TRIGGER
, Anda dapat menggunakan kode OLD kata kunci untuk mengakses data baris yang digantikan oleh pembaruan. NEW kata kunci memungkinkan mengakses data baris masuk yang akan menggantikan baris lama, jika berhasil.
Contoh UPDATE pemicunya adalah:
CREATE TRIGGER upd_check AFTER UPDATE ON SomeTable
FOR EACH ROW
BEGIN
IF (OLD.LastChangedBy <> NEW.LastChangedBy) THEN
INSERT INTO AuditSomeTable(ID, LastChangedBy)
VALUES (OLD.ID, OLD.LastChangedBy);
END IF;
END;
SQLFiddle di sini
Bergantung pada jenis pemicu yang dibuat, OLD dan NEW baris mungkin tidak tersedia untuk Anda:
MASUKKAN PEMICU
- Akses ke
NEWbaris semu saja.
PERBARUI PEMICU
- Akses ke
NEWdanOLDbaris semu
HAPUS PEMICU
- Akses hanya ke
OLDbaris semu
yaitu tidak ada OLD baris pada INSERT pemicu, dan tidak ada NEW baris pada DELETE pemicu.
Pertanyaan OP
OP belum memberikan kode yang sebenarnya, dan pesan kesalahan yang dimaksud dalam komentar:
menunjukkan bahwa OP secara tidak sengaja telah membuat INSERT TRIGGER dan bukan UPDATE TRIGGER seperti yang ditunjukkan dalam pertanyaan. Sebuah INSERT pemicu tidak memiliki OLD tabel semu.