mysql数据库new和old_数据库触发器中new表和old表是什么意思?
展开全部
new和old的使用情况:
在对new赋值的时候只能在触发器before中只用,在after中是不能使用的,比e68a84e8a2ad3231313335323631343130323136353331333337386562如(以下是正确的)。CREATE TRIGGER updateprice
BEFORE insert
ON consumeinfo
FOR EACH ROW
BEGIN
set new.金额=0;
END;
这个说明对当前插入数据进行更新的时候使用before先更新完,然后才插入到数据库中的,在after的触发器中,new的赋值已经结束了,只能读取内容。 如果使用after不能使用new赋值,只能取值,否则会出错误,比如CREATE TRIGGER updateprice
AFTER insert
ON consumeinfo
FOR EACH ROW
BEGIN
set new.金额=0;
END;
出现这样的错误:[Err] 1362 - Updating of NEW row is not allowed in after trigger
总结:
new在before触发器中赋值,取值;在after触发器中取值。
new是新插入的数据,old是原来的数据
insert只会有new,代表着要插入的新记录
delete只会有old,代表着要删除的记录
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
