日期:2014-05-16  浏览次数:20728 次

请教一个MySQL的trigger问题
首先说明一下,本人菜鸟啊

如下图,我在Linux上的一个MySQL数据库ojs有一个solution表。

写了一个Linux的守护进程定时去扫描solution表的result字段。。。这样就是主动扫描数据库,看起来显得有些“迟缓”的样子,不知道可不可以写个trigger来被动监听solution的提交呢?就是守护进程被动监听solution表的提交记录然后作出实时处理。。

------解决方案--------------------
不知道可不可以写个trigger来被动监听solution的提交呢?
包括哪些,删除、替换?你可以在TRIGGER中记录相关操作内容,存入到文本文件中,对文本文件
进行判断试试
------解决方案--------------------
你可以 在solution表的 after insert 触发器中,向某个日志表X写入记录,某年某月某时,插入了一条ID为多少的记录。

然后你的程序不断的循环读这个表,如果有新记录则处理,处理完后把X表中记录标志为已处理。
------解决方案--------------------
另外一种方法比较麻烦,你可以打开二进制日志功能,然后不断的监控BINLOG日志文件的变化,并分析其中的语句,如果出现 insert into solution的语句,则开始处理。

BINLOG日志文件中包含了所有 INSERT, UPDATE, DELETE 语句。
------解决方案--------------------
探讨

当solution表有INSERT事件的时候。。。
引用:

不知道可不可以写个trigger来被动监听solution的提交呢?
包括哪些,删除、替换?你可以在TRIGGER中记录相关操作内容,存入到文本文件中,对文本文件
进行判断试试

------解决方案--------------------
对solution加删除 更新 插入三个触发器