专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Mysql触发器

1.创建触发器

注意:触发器只能创建在永久表上,不能对临时表创建触发器,语法如下:

CREATE TRIGGER trigger_name trigger_time trigger_event 
ON table_name FOR EACH ROW trigger_stmt

trigger_time:触发器触发的时间,可以使before或者after,before是指的在检查约束前触发,而after是检查约              束后触发.
trigger_event:触发器触发的事件,可以是insert,update或者delete.
使用别名old和new来引用触发器中发生变化的记录内容,现在触发器还只支持行级触发,不支持语句级触发.

2.创建一个student表,复制一份命名为student_back:
CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

3.创建触发器:
delimiter $$
CREATE TRIGGER ins_stu AFTER INSERT ON student FOR EACH ROW
BEGIN
    INSERT INTO student_back (id, NAME, age)
VALUES
    (new.id, new. NAME, new.age) ;
END ;
$$
delimiter ;

插入一条数据:

INSERT INTO student(name,age) VALUES("zhansgan",15);

72_1.png

//注意:对于有重复记录需要进行update的insert,触发器触发的顺序是before insert , before update ,after update;对于没有重复记录的insert,就是简单地执行insert操作,触发器触发的顺序是before insert,after insert . 对于那些实际执行update操作的记录,仍然会执行before insert触发器的内容,在设计触发器的时候一定要考虑这种情况,避免错误地触发了触发器.

4.删除触发器
drop trigger trigger_name

5.查看触发器
show triggers 



文章永久链接:https://tech.souyunku.com/26181

未经允许不得转载:搜云库技术团队 » Mysql触发器

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们