【发布时间】:2021-08-16 13:57:34
【问题描述】:
CREATE TRIGGER maindb.before_acc_update
BEFORE UPDATE
ON maindb.acc FOR EACH ROW
BEGIN
DECLARE errorMessage VARCHAR(255);
DECLARE clientName VARCHAR(100);
SET clientName = (select USER());
SET errorMessage = CONCAT('DB Error=> new acc_name value (',
NEW.acc_name,
') cannot be null or empty. Old Value is:',
OLD.acc_name);
IF new.acc_name is null or TRIM(COALESCE(new.acc_name , '')) = '' THEN
BEGIN
INSERT INTO maindb.acc_log_error (old_tz, new_tz, username) values (old.acc_name , new.acc_name, clientName);
END ;
SIGNAL SQLSTATE '23000' SET MESSAGE_TEXT = errorMessage;
END IF;
END;
Mysql 取消了我的交易。我想登录到 maindb.acc_log_error 并提出我的自定义错误。
【问题讨论】:
标签: mysql logging triggers transactions