mysql数据库new和old_数据库触发器中new表和old表是什么意思?
展開全部
new和old的使用情況:
在對new賦值的時候只能在觸發(fā)器before中只用,在after中是不能使用的,比e68a84e8a2ad3231313335323631343130323136353331333337386562如(以下是正確的)。CREATE?TRIGGER?updateprice
BEFORE?insert
ON?consumeinfo
FOR?EACH?ROW
BEGIN
set?new.金額=0;
END;
這個說明對當前插入數(shù)據(jù)進行更新的時候使用before先更新完,然后才插入到數(shù)據(jù)庫中的,在after的觸發(fā)器中,new的賦值已經(jīng)結束了,只能讀取內容。 如果使用after不能使用new賦值,只能取值,否則會出錯誤,比如CREATE?TRIGGER?updateprice
AFTER?insert
ON?consumeinfo
FOR?EACH?ROW
BEGIN
set?new.金額=0;
END;
出現(xiàn)這樣的錯誤:[Err]?1362?-?Updating?of?NEW?row?is?not?allowed?in?after?trigger
總結:
new在before觸發(fā)器中賦值,取值;在after觸發(fā)器中取值。
new是新插入的數(shù)據(jù),old是原來的數(shù)據(jù)
insert只會有new,代表著要插入的新記錄
delete只會有old,代表著要刪除的記錄
總結
以上是生活随笔為你收集整理的mysql数据库new和old_数据库触发器中new表和old表是什么意思?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jdbc mysql 远程数据库_jdb
- 下一篇: mysql 批量远程_【shell--批