欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 觸發(fā)器 for each row

錢多多2年前10瀏覽0評論

什么是MySQL觸發(fā)器?

MySQL觸發(fā)器是一種特殊的存儲過程,它會在指定的事件發(fā)生時自動執(zhí)行。事件可以是INSERT、UPDATE或DELETE操作。MySQL觸發(fā)器可以被用來檢查或修改數(shù)據(jù)的變化,或者執(zhí)行其他自定義操作。

如何創(chuàng)建MySQL觸發(fā)器?

要創(chuàng)建MySQL觸發(fā)器,您需要使用CREATE TRIGGER語句。在這個語句中,您可以指定觸發(fā)器應(yīng)該在哪個事件下觸發(fā),以及觸發(fā)時要執(zhí)行哪個代碼塊。

例如,下面是一個在表中插入記錄時觸發(fā)的MySQL觸發(fā)器:

CREATE TRIGGER my_trigger
AFTER INSERT
ON my_table
FOR EACH ROW
BEGIN
-- insert statements
END;

什么是MySQL觸發(fā)器的“FOR EACH ROW”?

MySQL中的FOR EACH ROW (在每一行上)是一個規(guī)范用于指定觸發(fā)器應(yīng)該針對的行。如果您在CREATE TRIGGER語句中使用“FOR EACH ROW”,那么MySQL將為每個受影響的行觸發(fā)該觸發(fā)器。

使用FOR EACH ROW的另一個優(yōu)點(diǎn)是您可以在觸發(fā)程序(trigger body)中訪問每個受影響的行作為一個虛擬表格,這使得處理行級數(shù)據(jù)更容易。

如何在MySQL觸發(fā)器中使用“FOR EACH ROW”?

在MySQL觸發(fā)器中使用“FOR EACH ROW”很簡單,您只需要在CREATE TRIGGER語句中指定該規(guī)范即可。

例如,下面是一個在每次UPDATE操作時更新最后修改時間的MySQL觸發(fā)器:

CREATE TRIGGER update_modified_time
AFTER UPDATE
ON my_table
FOR EACH ROW
SET new.modified_at = NOW();

在這個例子中,“SET new.modified_at = NOW();"語句將當(dāng)前時間寫入名為modified_at的表列。