重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、先创建一个空的person_log表用来存放被删除的记录。
创新互联专注于卓资网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供卓资营销型网站建设,卓资网站制作、卓资网页设计、卓资网站官网定制、小程序制作服务,打造卓资网络公司原创品牌,更为您提供卓资网站排名全网营销落地服务。
2、创建一个触发器del_person,执行删除操作后将记录插入到person_log表。
触发器person_log
3、从person表中执行删除记录操作来触发事件
4、查看person_log表结果:
结果:从person表执行删除一条记录后会触发person_log表中增加被删除的记录。
使用Mysql新建触发器的方法:
1、首先,需要确定自己的Mysql数据库的版本,因为my sql数据库是从5.0.2版本才开始支持触发器的。
2、在电脑的dos命令界面中输入 mysql --version,来获取mysql的版本号,注意version的两个横线和之前的mysql是有一个空格的。
3、上一步获取了mysql版本号,就开始建立触发器。采用以视图加代码的方式创建,在数据表中找到要执行删除操作的表,然后右键设计表
4、这样就打开了表的设计页面,可以看到有一个触发器选项卡,点击“触发器”
5、可以看到对应的选项,在名里面添加需要新建的触发器的名字,在触发选项中选择before或者after,然后在插入、更新、删除三个选项中勾选一个。
6、这样们就建立了一个名为“datri”的触发器,在删除操作执行之后触发
7、然后在下面的定义下面的框中输入需要执行的操作。然后点击sql预览,可以看到整个触发器的代码
8、最后就是保存了,由于做的是触发器,保存之后,在执行删除操作时,这个触发器才相当于被执行。
主要的就是数据的截取吧,在家判断就可以了
CREATE TRIGGER trigger1
AFTER insert ON AAA
FOR EACH ROW
BEGIN
insert INTO BBB
(a, b, c, d)
values substr
('this\is\a\test', 1, instr('this\is\a\test', '\', 1, 1) - 1),
substr
('this\is\a\test',
instr('this\is\a\test', '\', -1, 3) + 1,
instr('this\is\a\test', '\', -1, 2) -
(instr('this\is\a\test', '\', -1, 3) + 1)),
(substr('this\is\a\test',
instr('this\is\a\test', '\', -1, 2) + 1,
instr('this\is\a\test', '\', -1, 1) -
(instr('this\is\a\test', '\', -1, 2) + 1)),
substr(NEW :aa, instr(NEW :aa, '\', -1, 1) + 1, length(NEW :aa)));
END;
--触发器如果存在则删除重新创建
DROP TRIGGER IF EXISTS 触发器名称;
CREATE TRIGGER 触发器名称
AFTER INSERT ON 表名称
FOR EACH ROW
BEGIN
--这里写你触发器触发时要做的
UPDATE lsxhd
SET ywrq=UNIX_TIMESTAMP(FROM_UNIXTIME(rq, "%Y-%m-%d"))
WHERE
ywrq=UNIX_TIMESTAMP('1970-01-01')--如果这里的‘1970-01-01’是插入的数据中的列值的话,可以从INSERTED中查询出
END;