mysql8.x创建insert/update/delete触发器

本文详细描述了如何在MySQL8.x中为demo数据表创建触发器,以便在数据新增、更新和删除时记录变更,并存储在demo_trigger_logs表中。包括删除现有触发器、创建新的触发器脚本以及验证触发器的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.需求

针对数据库中demo数据表进行监控,发生了新增、更新、删除时将这些变更记录到demo_trigger_logs表中用作他用,使用MySql8.x版本进行触发器的创建.

2.查看触发器

-- 查看触发器
show triggers;

3.删除触发器

-- 删除已存在触发器  insert update delete
drop trigger if exists demo_trigger_insert;

4.创建脚本

/*
  说明:复制修改本脚本时全局替换原始表名_即可
 */
-- 删除已存在触发器  insert update delete
drop trigger if exists demo_trigger_insert;
drop trigger if exists demo_trigger_update;
drop trigger if exists demo_trigger_delete;

-- 删除已存在日志表
drop table if exists demo_trigger_logs;

-- 新建日志表
create table demo_trigger_logs (id varchar(128) not null,opr_type varchar(32),update_date datetime);

-- 新建触发器 insert update delete
delimiter //

create trigger demo_trigger_insert after insert on demo for each row
begin
    insert into demo_trigger_logs (id,opr_type,update_date) values (new.id, 'insert', now());
end; //

create trigger demo_trigger_update after update on demo for each row
begin
    insert into demo_trigger_logs (id,opr_type,update_date) values (new.id, 'update', now());
end; //

create trigger demo_trigger_delete after delete on demo for each row
begin
    insert into demo_trigger_logs (id,opr_type,update_date) values (old.id, 'delete', now());
end; //

delimiter ;

-- 查看触发器
show triggers;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cgv3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值