是否可能在MySQL的select语句上使用触发器?
我知道触发器可以用于insert、update和delete,但select语句上的触发器(或某种触发器)又如何呢。我想使用触发器在表B上插入数据,当选择表a上的现有记录时,它可能是是否可能在MySQL的select语句上使用触发器?,mysql,select,triggers,Mysql,Select,Triggers,我知道触发器可以用于insert、update和delete,但select语句上的触发器(或某种触发器)又如何呢。我想使用触发器在表B上插入数据,当选择表a上的现有记录时,它可能是 提前感谢。这在数据库本身中是不可能的 但是,有一些数据库的监视/检测产品(例如Sybase-不确定MySQL)可以跟踪服务器执行的每个查询,并可以在此基础上执行任何操作-通常将查询日志存储到数据仓库以供以后分析,但它们也可以为您在表B中插入一条记录,我猜。这在数据库本身中是不可能的 但是,有一些数据库的监视/检测产
提前感谢。这在数据库本身中是不可能的
但是,有一些数据库的监视/检测产品(例如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;
但这不是一个优雅的解决方案。您应该设计应用程序,使数据库访问仅通过某些方法进行,并在这些方法中添加所需的监视。您应该设计应用程序,使数据库访问仅通过某些方法进行,并且在这些方法中,添加所需的监视。您可以编写一个应用程序,该应用程序将监视查询日志,并在发生选择时执行某些操作。解决这个问题的一个相当粗糙的方法是…您可以编写一个应用程序,它将监视查询日志,并在选择发生时执行某些操作。一个相当粗糙的解决问题的方法