挿入と更新のユーザー ID とタイムスタンプを個別に取得することにより、行レベルの監査を実現しようとしています。しかし、何らかの理由で、更新に対しても挿入トリガーが起動し、2 つの insert_* 列が毎回更新されます (更新の場合も)。助けてください。
テーブル
create table test
(id varchar(30) primary key,
insert_id varchar(30),
insert_timestamp timestamp,
update_id varchar(30),
update_timestamp timestamp);
BEFORE INSERT トリガー
DELIMITER //
create trigger ins_test
before insert on test
for each row
Begin
set new.insert_id = session_user();
set new.insert_timestamp = now();
End;
//
BEFORE UPDATE トリガー
DELIMITER //
create trigger upd_test
before update on test
for each row
Begin
set new.update_id = session_user();
set new.update_timestamp = now();
End;
//
-ガネーシャ