MySQL创建触发器(简略版)

来源:互联网 发布:微信淘宝客自动发单 编辑:程序博客网 时间:2024/06/06 18:10
  1. 当删除某表的某数据的时候,自动触发触发器,删除特点指定表的数据
    例如
    删除后触发
    CREATE TRIGGER Trigger_delete
    after delete on goodcritic
    for EACH ROW
    BEGIN
    SELECT good into @good from publishcritic where id=old.pid;
    update publishcritic set good=@good-1 where id=old.pid;
    end
    插入的时候触发
    CREATE TRIGGER Trigger_insert
    AFTER INSERT on goodcritic
    for each ROW
    BEGIN
    SELECT good into @good from publishcritic where id=new.pid;
    update publishcritic set good=@good+1 where id=new.pid;
    end
    更新的时候触发
    CREATE TRIGGER goodTrigger_insert
    AFTER INSERT on goodcritic
    for each ROW
    BEGIN
    UPDATE cc
    SET good=good+(new.good-old.good)
    WHERE id=new.id;
    end

    备注:
    Trigger_delete表示触发器的名字
    after表示触发后执行,如果为before的话,则是触发前执行
    delete表示 删除操作,对应还有update,insert操作
    for each row表示对应所有行都会触发该触发器
    如果是delete操作的话,则为old,如果为insert,则为new ,update的话,对应old和new
    @good为声明一个变量,和sqlserver不一样,不需要声明其类型

  2. 模版
    create trigger 触发器名字
    after/before delete/update/insert on 表的名字
    for each row
    begin
    SQL 语句
    end

0 0