MySQL 触发器是一种特殊的存储过程,它会在指定的事件发生时自动执行。这些事件包括 INSERT、UPDATE 或 DELETE 操作在指定的表上。触发器可以在数据改变之前(BEFORE)或之后(AFTER)执行。
假设我们有一个 orders
表和一个 order_log
表,我们希望在每次向 orders
表插入新订单时,自动在 order_log
表中记录这一操作。
DELIMITER $$
CREATE TRIGGER after_order_insert
AFTER INSERT ON orders
FOR EACH ROW
BEGIN
INSERT INTO order_log (order_id, action, timestamp)
VALUES (NEW.order_id, 'INSERT', NOW());
END$$
DELIMITER ;
原因:
解决方法:
SHOW TRIGGERS
命令检查触发器是否被禁用。原因:
解决方法:
通过以上信息,你应该对 MySQL 触发器有了一个全面的了解,包括其定义、优势、类型、应用场景以及可能遇到的问题和解决方法。
领取专属 10元无门槛券
手把手带您无忧上云