mysql觸發器 NEW與OLD解析

2021-08-09 19:17:52 字數 464 閱讀 8755

mysql觸發器之 new與old解析

mysql觸發器中, new關鍵字,和 ms sql server 中的 inserted 和 deleted 類似,mysql 中定義了 new 和 old,用來表示觸發器的所在表中,觸發了觸發器的那一行資料。

具體地:

在 insert 型觸發器中,new 用來表示將要(before)或已經(after)插入的新資料;

在 update 型觸發器中,old 用來表示將要或已經被修改的原資料,new 用來表示將要或已經修改為的新資料;

在 delete 型觸發器中,old 用來表示將要或已經被刪除的原資料;

使用方法: new.columnname (columnname 為相應資料表某一列名)

另外,old 是唯讀的,而 new 則可以在觸發器中使用 set 賦值,這樣不會再次觸發觸發器,造成迴圈呼叫。

mysql 觸發器OLD和NEW關鍵字

使用old和new關鍵字,能夠訪問受觸發程式影響的行中的列 old和new不區分大小寫 在insert觸發程式中,僅能使用new.col name,沒有舊行。在delete觸發程式中,僅能使用old.col name,沒有新行。在update觸發程式中,可以使用old.col name來引用更新前的...

觸發器中OLD和NEW的使用

一 old和new在oracle中不區分大小寫 二 old和new可以用在declare中也可以用在begin裡的sql語句 只會在begin中的sql語句裡用 三 old表示插入之前的值,new表示新插入的值 old用在刪除和修改,new用在新增和修改 但是用delete new值也沒有報錯,不知...

Oracle觸發器中的new和old

對於oracle觸發器中的new和old new 為乙個引用最新的列值 old 為乙個引用以前的列值 這兩個變數只有在使用了關鍵字 for each row 時才存在.且update語句兩個都有,而insert只有 new delect 只有 old createorreplacetriggertr...