MYSQL(触发器)

目录

1.介绍

2.触发器

1创建触发器语法

2.查看触发器

3.删除触发器



1.介绍

触发器是与表有关的数据库对象,它在insert/update/delete操作之前或之后触发并执行触发器中定义的SQL语句集合。触发器可以用于确保数据的完整性、进行日志记录和数据校验等操作。在触发器中使用别名OLD和NEW来引用发生变化记录的内容,目前触发器只支持行级触发,不支持语句级触发。

触发器类型new和old
insert类型触发器new表示将要或者已经新增的数据
update类型触发器old表示修改之前的数据,new表示修改之后的数据
delete类型触发器old表示将要或者已经删除的数据

2.触发器

1创建触发器语法

create trigger trigger_name
after/before insert/update/delete
on 触发表名 for each row
begin
  
  SQL;

end;

2.查看触发器

--触发器查看
show triggers;

3.删除触发器

--如果没有指定schema_name(数据库名),默认为当前数据库
drop trigger [数据库名] 触发器名;

演示:

--插入触发器
create trigger tb_user_insert_trigger
  after insert on tb_user for each row
begin
  insert into user_logs(id, operation, operate_time, operate_id, operate_params) VALUES
    (NULL, 'insert', now(), new.id, concat('插入的数据内容为: id=', new.id, 'name=', new.name, 'phone=', NEW.phone, 'email='));
end;

--查看触发器
show triggers;

-- 删除名为tb_user_insert_trigger的触发器
drop trigger tb_user_insert_trigger;

-- 向tb_user表插入数据
insert into tb_user(id, name, phone, email, profession, age, gender, status, createtime) 
VALUES (25, '二皇子', '18809091212', 'en', );

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值