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,代表着要删除的记录


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部