mysql触发器实践
来源:互联网 发布:电脑淘宝淘口令怎么弄 编辑:程序博客网 时间:2024/05/19 03:42
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:
1.监视地点(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before)
4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before insert/update/delete on 表名
for each row #这句话在mysql是固定的
begin
sql语句;
end;
举例说明:
创建两个表
DROP TABLE IF EXISTS `t_a`;CREATE TABLE `t_a` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;DROP TABLE IF EXISTS `t_b`;CREATE TABLE `t_b` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
创建两个触发器:
(1)在t_a插入数据后,往t_b同步数据
DROP TRIGGERIF EXISTS t_afterinsert_on_ta;CREATE TRIGGER t_afterinsert_on_ta AFTER INSERT ON t_a FOR EACH ROWBEGIN INSERT INTO t_b (name)VALUES (new.name);END;
(1)在t_a删除数据后,删除t_b的对应数据
DROP TRIGGERIF EXISTS t_afterdelete_on_ta;CREATE TRIGGER t_afterdelete_on_ta AFTER DELETE ON t_a FOR EACH ROWBEGIN delete from t_b where id = old.id;END;
insert into t_a(name) value(‘liuyanliang’);
SELECT * from t_a
SELECT * from t_b
//发现t_a和t_b插入了一条相同的数据
DELETE FROM t_a where id = 1;
SELECT * from t_a
SELECT * from t_b
//发现t_a和t_b的数据都删除了
0 0
- mysql触发器实践
- 触发器实践
- mysql主从实践篇,另外用到了触发器。
- 【mysql 触发器】触发器使用
- MYSQL 触发器
- mysql 触发器
- Mysql 触发器
- mysql 触发器
- mysql触发器
- MYSQL 触发器
- MySQL触发器
- mysql 触发器
- mysql触发器
- MYSQL 触发器
- mysql 触发器
- mysql 触发器
- MySQL触发器
- MYSQL触发器
- Install Ruby on rails on Ubuntu 14.04 LST
- 安卓APK反编译与混淆编译
- 排序算法四:交换排序之冒泡排序
- jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法
- 梯度下降法学习速率设置技巧
- mysql触发器实践
- OCS为什么不能安装到除C盘以外的盘
- OCS部署后不能返回信息的问题解决…
- MJRefresh的下拉刷新及上拉加载(施工中)
- OCSng安装部署
- 关于Notes8.0的小经验
- test7.2
- 技术团队新官上任之基层篇
- 学电脑必须掌握的网络八个常用DOS…