是否有可能在MySQL的select语句上触发?

时间:2010-05-07 04:31:23

标签: mysql select triggers

我知道触发器可以用于插入,更新和删除,但是对于select语句的触发器(或者某种类型)呢。我想使用触发器在表B上选择一个存在的记录时在表B上插入数据,这可能是吗?。

提前致谢。

4 个答案:

答案 0 :(得分:2)

您应该设计应用程序,以便仅通过某些方法进行数据库访问,并在这些方法中添加所需的监视。

答案 1 :(得分:1)

数据库本身无法实现。

然而,有数据库的监控/检测产品(例如用于Sybase - 不确定MySQL)跟踪服务器执行的每个查询,并且可以基于此执行任何操作 - 通常将查询日志存储到数据仓库中以供日后使用分析,但他们也可以为你在表B中插入一条记录,我猜。

答案 2 :(得分:1)

不完全是触发器,但您可以:

CREATE FUNCTION myFunc(...) BEGIN INSERT INTO myTable VALUES(...) END;

然后

SELECT myFunc(...), ... FROM otherTable WHERE id = 1;

虽然不是一个优雅的解决方案。

答案 3 :(得分:0)

您可以编写一个应用程序来监视查询日志并在发生选择时执行某些操作。解决这个问题的一种非常粗糙的方法......