数据库触发器

        触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。

CREATE TRIGGER trigger_name
    trigger_time trigger_event ON tb_name 什么情况下触发程序的执行
    FOR EACH ROW 行级触发/语句级触发
    trigger_stmt
  • trigger_name:触发器的名称
  • tirgger_time:触发时机,为 BEFORE 或者 AFTER
  • trigger_event:触发事件,为 INSERT、DELETE 或者 UPDATE
  • tb_name:表示建立触发器的表明,就是在哪张表上建立触发器
  • trigger_stmt:触发器的程序体,可以是一条 SQL 语句或者是用 BEGIN 和 END 包含的多条语句。

        MySQL 可以创建以下六种触发器:BEFORE INSERTBEFORE DELETEBEFORE UPDATEAFTERINSERTAFTER DELETEAFTER UPDATE。

 date 类型赋默认值

定义触发器
delimiter //
create trigger tri_emp_hiredate
    before insert on emp
    for each row
begin
    IF NEW.hiredate IS NULL THEN 使用触发器时有2个临时表,一个new用于记录需要进入表的数据,一个old用于记录离开表的数据。含义是判断 new 表中的hiredate列是否为空
        SET NEW.hiredate = CURRENT_DATE; 修改hiredate列值为当前日期date类型
    END IF;
end // 提交触发器
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值