mysql触发器-从触发器中选择计数(*)

mysql触发器-从触发器中选择计数(*),mysql,triggers,Mysql,Triggers,我想计算触发器中创建/内部(不知道它叫什么)的行数 就像我有一个触发器: CREATE DEFINER=`root`@`localhost` TRIGGER `mydb`.`tn_air_staff_leave_application` AFTER INSERT ON `mydb`.`staff_leave_application` FOR EACH ROW BEGIN ---- ---- ---- END$$ 想知道触发器将创建多少行,我需要触发器中的这个值: set @newrows:=

我想计算触发器中创建/内部(不知道它叫什么)的行数

就像我有一个触发器:

CREATE
DEFINER=`root`@`localhost`
TRIGGER `mydb`.`tn_air_staff_leave_application`
AFTER INSERT ON `mydb`.`staff_leave_application`
FOR EACH ROW
BEGIN
----
----
----
END$$
想知道触发器将创建多少行,我需要触发器中的这个值:

set @newrows:= (select count(*) from tn_air_staff_leave_application); 

有可能吗??如果没有其他解决方案,触发器是一段纯粹的被动代码,在插入、更新或删除数据库表中的行之前或之后执行

触发器不能主动执行,因此没有可读取的返回值

您可以做的是让触发器将值写入另一个表或会话变量中,然后可以在额外的查询中查询该值

不能像在示例中尝试的那样,将整个结果行或多行结果集存储到会话变量中

在MySQL中,触发器总是对每一行执行
,这意味着在触发器中,您将只查看一行,而不是多行

编辑:

实际上,您的示例查询只返回一个值,所以这是可行的。(将把您的
tn\u air\u staff\u leave\u应用程序
表中的总记录量传递到本地会话变量
@newrows


要获得更具体的帮助,您需要更具体地说明您正在尝试执行的操作

@user1983017如果可以,请接受答案。