MySQL創建觸發器入庫登記
什么是觸發器
觸發器是一種特殊的存儲過程,它在數據庫表發生特定的動作時被自動執行。MySQL的觸發器可以在插入、更新和刪除行前、后、替換時觸發。
為什么需要觸發器
觸發器可以用于自動執行特定的數據庫操作,比如在插入一條新記錄時自動計算某些字段的值,或在更新記錄時自動更新相關的字段等。
創建觸發器步驟
1. 首先使用 CREATE TRIGGER 語句創建觸發器,可以指定觸發器的名稱、觸發事件(BEFORE或AFTER)、觸發語句(INSERT、UPDATE或DELETE)、觸發表等信息。
2. 然后使用 BEGIN和END語句定義觸發器的執行過程。
實例
假設有一張入庫登記表 inventory(id, product, quantity, date),我們需要在每次插入新的記錄時自動添加一條操作日志到另一張表 inventory_log 中。
那么可以使用以下代碼創建一個新的觸發器:
CREATE TRIGGER add_inventory_log AFTER INSERT ON inventory FOR EACH ROW BEGIN INSERT INTO inventory_log(user, operation, date) VALUES (CURRENT_USER(), 'insert', NOW()); END;
總結
觸發器是一種非常有用的數據庫功能,它可以用于自動化處理許多常見的操作。創建觸發器需要遵循一定的規則和語法,使用時需要注意觸發的時間點和觸發的表格,確保它能夠正確地執行所需的操作。