MYSQL触发器
admin
2023-04-23 13:42:46
0

建立一个表

CREATE TABLE cmd (
        id INT PRIMARY KEY auto_increment,
        USER CHAR (32),
        priv CHAR (10),
        cmd CHAR (64),
        sub_time datetime, #提交时间
        success enum ('yes', 'no') #0代表执行失败
);

建立一个要被触发的表

CREATE TABLE errlog (
        id INT PRIMARY KEY auto_increment,
        err_id int
);

建立触发器

delimiter $$  #把;变换成$$,让下面的代码完整运行
CREATE TRIGGER tri_after_insert_cmd AFTER INSERT ON cmd FOR EACH ROW
BEGIN
        if NEW.success = 'no' then   # NEW(新的信息,也就是插入cmd的信息)
                insert into errlog(err_id) values(NEW.id);  # 插入语法.当上面的条件成立
        end if;
END $$  # 制造触发器完毕
delimiter ; # 将符号还原成;

插入数据

INSERT INTO cmd (
        USER,
        priv,
        cmd,
        sub_time,
        success
)
VALUES
        ('egon','0755','ls -l /etc',NOW(),'yes'),
        ('egon','0755','cat /etc/passwd',NOW(),'no'),
        ('egon','0755','useradd xxx',NOW(),'no'),
        ('egon','0755','ps aux',NOW(),'yes');

删除触发器

drop trigger tri_after_insert_cmd;

相关内容

热门资讯

原创 2... 新能源车这些年跑得飞快,可有个心结一直没解开。车主晚上把车停进地库,心里多少还是打个鼓——万一它半夜...
“最强模型”公开,人人都可自由... 7月27日深夜,月之暗面(Moonshot AI)宣布开源Kimi K3模型权重,发布47页技术报告...
MIT给VLA加“外挂”,让机... 视觉—语言—动作模型(VLA)已经能够完成不少复杂的机器人任务,但在实际运行中,机器人通常需要先停下...
华硕Intel 800系主板助... 随着本地大模型、AI绘图、AI视频生成以及智能办公等应用快速普及,AI主机正逐渐成为2026年DIY...
“七姐妹”市值一夜蒸发5.8万... 出品 | 搜狐科技 作者 | 梁昌均 美股遭遇“黑色星期四”。最新交易日,美股三大指数集体重挫,纳指...
OpenAI智能体攻击范围扩大... 【CNMO科技消息】7月29日,据路透社报道,此前引发关注的OpenAI智能体入侵Hugging F...
华为苹果正面硬刚 华为Mate... PChome 7月29日消息,据数码闲聊站爆料,国内手机品牌将于9月举办两场重磅发布会,9月上旬推出...
SK集团会长崔泰源:Anthr... IT之家 7 月 26 日消息,据彭博社当地时间 24 日报道,SK 集团会长崔泰源近日在美国加利福...
“一次愉快的会晤”,泽连斯基披... 在俄乌互相加大对对方纵深目标打击之际,乌克兰总统泽连斯基7月28日造访了白宫,与美国总统特朗普举行会...