gpt4 book ai didi

mysql更新触发旧、新行的列日志

转载 作者:行者123 更新时间:2023-11-29 03:41:03 25 4
gpt4 key购买 nike

我的更新触发器

BEGIN
DECLARE s VARCHAR(100);
IF (OLD.authUId <> NEW.authUId) THEN SET s = CONCAT(s,'&authUId=', OLD.authUId); END IF;
IF (OLD.autPId <> NEW.autPId) THEN SET s = CONCAT(s,'&autPId=', OLD.autPId); END IF;
.....

INSERT INTO l_dblog(src,newId,oldValue) VALUE('auth_up',new.authId,s);
END

插入的行 oldValue 列总是空插入,我的问题是什么?

我有删除触发器是成功的工作

我的删除触发器:

 BEGIN
DECLARE s VARCHAR(60);
SET s = CONCAT('&authUId=', OLD.authUId,'&autPId=', OLD.autPId,'&authTypeId=', OLD.authTypeId,'&authValue=', OLD.authValue);
INSERT INTO l_dblog(src,newId,oldValue)
VALUE('auth_del',OLD.authId,s);
END

谢谢...

最佳答案

在更新查询中将变量 s 的默认值设置为空白,然后检查天气触发器是否正常工作。如果不是,那么运行触发器后会出现什么错误。

BEGIN
DECLARE s VARCHAR(100) DEFAULT '';
IF (OLD.authUId <> NEW.authUId) THEN SET s = CONCAT(s,'&authUId=', OLD.authUId); END IF;
IF (OLD.autPId <> NEW.autPId) THEN SET s = CONCAT(s,'&autPId=', OLD.autPId); END IF;
.....

INSERT INTO l_dblog(src,newId,oldValue) VALUE('auth_up',new.authId,s);
END

关于mysql更新触发旧、新行的列日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13822678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com