mysql 觸發器的語法:create trigger [觸發器名]before/after [insert/update/delete] on [表名]for each row[觸發器主體]
MySQL 觸發器的語法
觸發器是一種數據庫對象,用于在插入、更新或刪除表中的記錄時自動執行特定操作。MySQL 中觸發器的語法如下:
CREATE TRIGGER [觸發器名] BEFORE/AFTER [INSERT/UPDATE/DELETE] ON [表名] FOR EACH ROW [觸發器主體]
登錄后復制
語法參數解釋:
觸發器名:為觸發器指定一個名稱。
時機:指定觸發器在操作發生前(BEFORE)或后(AFTER)執行。
事件:指定觸發器在哪些操作(INSERT/UPDATE/DELETE)上觸發。
表名:指定要為其創建觸發器的表。
觸發器主體:觸發器執行的動作,包括 SQL 語句和控制流語句。
FOR EACH ROW:指定觸發器對每個受影響的行執行一次。
示例:
以下觸發器示例會在向 customers 表中插入新記錄時更新 last_updated 列:
CREATE TRIGGER update_last_updated BEFORE INSERT ON customers FOR EACH ROW SET last_updated = NOW();
登錄后復制
詳細內容:
觸發器時機:觸發器可以在操作之前(BEFORE)或之后(AFTER)執行。
觸發器事件:觸發器可以在 INSERT、UPDATE 或 DELETE 操作上觸發。
觸發器主體:觸發器主體可以包含以下內容:
SQL 語句(例如,更新、插入或刪除其他表中的記錄)。
控制流語句(例如,IF-ELSE、CASE 等)。
使用 OLD 和 NEW 關鍵字訪問觸發操作前后的記錄值。
限制:觸發器不能引用同一表中的其他觸發器。
通過創建觸發器,可以自動化數據庫中的任務,減少重復操作并確保數據完整性。