数据库触发器详解(8)
来源:未知 责任编辑:责任编辑 发表时间:2014-05-20 18:34 点击:次
100223 18:27:46 135939 Query INSERT INTO `wnegative` VALUES (614,1,289026,2911155,1848481);
可以看到,在100223 18:27:45时,删除了表wnegative,紧接着有创建表wnegative;查找触发表发现,在100223 18:27:45时间后对wnegative的修改就没有触发了,而在这个之前对wnegative的修改是触发正常的。故,怀疑对wnegative表的删除使wnegative表上的触发器也被删除。对wnegative表的删除是在主库dbA上操作后,被同步到dbB上。
【原因】在删除wnegative表时,mysql同时删除了wegative表上的触发器。
可以通过下面实验证明上述猜测:
1) 首先在wnegative建立after insert型触发器;
2) 增加一条wnegative中记录;
3) 查看结果发现触发器正确触发;
4) 删除wnegative表;
5) 使用select TRIGGER_NAME from information_schema.TRIGGERS查看所有触发器,wnegative表上触发器已经不存在了;同时到var/FC_Word目录下,对应触发器的.TRN文件也不存在了;
6) 重新创建wnegative表,并增加一条wnegative中记录;没有了wnegative表上触发器,自然也不能触发任何结果。
6 结束语
Mysql中的触发器功能已经在凤巢系统的各个模块中有广泛应用,究其细节,还有很多值得注意的地方;本文建立在实验和案例的基础上,数据库基于线上系统使用的mysql5.0.45版本,分析了触发器相关的一些特殊情况下msyql的处理方式。
摘自 磊.Y的博客
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>