触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力
复制代码
1
2
3
4
5
6
7
8
9
10
11
12create trigger 触发器名称 触发的时机 触发的动作 on 表名 for each row 触发器状态。 参数说明: 触发器名称: 自己定义 触发的时机: before /after 在执行动作之前还是之后 触发的动作 :指的激发触发程序的语句类型<insert ,update,delete> each row:操作每一行我都监控着 触发器创建语法四要素: 1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
创建触发器:
复制代码
1
2
3
4
5
6mysql> create trigger t after delete on user for each row -> delete from `order` where u_id=3; select * from `order`; delete from `user` where id=3; select * from `order`;
删除触发器:
drop trigger t;
查看触发器:
复制代码
1
2
3show create trigger t; show triggers;
事务:数据库事务:(database transaction): 事务是由一组SQL语句组成的逻辑处理单元,要不全成功要不全失败。
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型不支持!
数据库默认事务是自动提交的, 也就是发一条 sql 它就执行一条。如果想多条 sql 放在一个事务中执行,则需要使用事务进行处理。当我们开启一个事务,并且没有提交,mysql 会自动回滚事务。或者我们使用 rollback 命令手动回滚事务。
事务的四大特性:ACID
复制代码
1
2
3
4
5原子性,一致性,隔离性,持久性 commit:提交事务,永久记录 rollback:回滚 start transaction:开启事务
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#用来修改事务的自动提交 set atuocommit=0/1 #查看存储引擎 show create table user; show create table `order`; #修改默认的结尾 delimiter // #创建事务 mysql> start transaction; -> update `user` set name = "adadad" where sex=1; -> update `user` set name = "cccccccccc" where sex=2; -> // mysql> select * from user// mysql> rollback // mysql> select * from user//
最后
以上就是默默棉花糖最近收集整理的关于触发器+事务的全部内容,更多相关触发器+事务内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复