CREATE TRIGGER `update_balance`
AFTER UPDATE ON `accounts`
FOR EACH ROW
BEGIN
IF NEW.balance
上面代码块创建了一个触发器,当`accounts`表上的一个行被更新时,它会检查新的余额是否小于零,如果是,则会将一条警告消息插入到`balance_alerts`表中。
注意:以上代码块中的“NEW”关键字表示被更新的行的新值。如果我们想引用旧值,则需要将“NEW”替换为“OLD”。
当一个触发器被激发时,MySQL会自动调用预先定义的代码块。在代码块中,可以执行各种操作,例如向其他表中插入新数据、更新表中的其他记录,甚至通过使用异常语句来中断操作。
MySQL触发器可以用于各种用例,例如在添加新行时自动生成键、在添加新数据时更新其他表、在特定事件发生时向其他应用程序发送通知等。使用触发器可以大大减少数据库管理的复杂性,提高数据一致性并加快响应时间。