MySQL 觸發器是一種特殊的程序,它會在表上的某些特定事件發生時自動執行。這些事件可以是插入、更新、刪除等等操作。觸發器可以讓我們在這些事件發生時執行一些額外的操作,例如修改數據、記錄日志、調用存儲過程等等。
在 MySQL 觸發器中,我們也可以使用一些內置變量和函數來增強觸發器的功能。比如,我們可以使用 NEW 關鍵字來引用插入或更新后的新行(即插入或更新后的數據),使用 OLD 關鍵字來引用更新或刪除前的舊行(即更新或刪除前的數據)。
在觸發器中為字段賦值是一個很常見的操作。為了實現這個功能,我們需要使用 SET 語句來給字段賦值。下面是一個示例,我們可以在插入新的行時,為一個字段自動生成一個 UUID:
DELIMITER // CREATE TRIGGER tr_generate_uuid BEFORE INSERT ON my_table FOR EACH ROW BEGIN SET NEW.uuid = uuid(); END // DELIMITER ;
在上面的示例中,我們使用了 BEFORE INSERT 表示這個觸發器是在插入新行之前執行。然后我們使用 FOR EACH ROW 聲明這個觸發器針對每一行執行。在觸發器中,我們使用 SET 語句為 NEW.uuid 賦上一個 UUID 值。
在實際開發中,我們可能會有更復雜的邏輯來為字段賦值。例如,我們可以根據表中其他字段的值計算出一個新的字段值。在這種情況下,我們可以使用 SQL 的表達式語句來完成計算,然后將計算結果賦給目標字段。
上一篇css里的focus
下一篇html加css視頻教學