是否可能在MySQL的select语句上使用触发器?

是否可能在MySQL的select语句上使用触发器?,mysql,select,triggers,Mysql,Select,Triggers,我知道触发器可以用于insert、update和delete,但select语句上的触发器(或某种触发器)又如何呢。我想使用触发器在表B上插入数据,当选择表a上的现有记录时,它可能是 提前感谢。这在数据库本身中是不可能的 但是,有一些数据库的监视/检测产品(例如Sybase-不确定MySQL)可以跟踪服务器执行的每个查询,并可以在此基础上执行任何操作-通常将查询日志存储到数据仓库以供以后分析,但它们也可以为您在表B中插入一条记录,我猜。这在数据库本身中是不可能的 但是,有一些数据库的监视/检测产

我知道触发器可以用于insert、update和delete,但select语句上的触发器(或某种触发器)又如何呢。我想使用触发器在表B上插入数据,当选择表a上的现有记录时,它可能是


提前感谢。

这在数据库本身中是不可能的


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

这在数据库本身中是不可能的


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

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

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

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

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

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

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

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

但这不是一个优雅的解决方案。

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

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

您可以编写一个应用程序,该应用程序将监视查询日志,并在发生选择时执行某些操作。解决这个问题的一个相当粗糙的方法是…

您可以编写一个应用程序,它将监视查询日志,并在选择发生时执行某些操作。一个相当粗糙的解决问题的方法