创建一个触发器,通过在 table B 中插入值来记录对 table A 的修改

Creating a trigger that records modifications on table A by inserting values in table B

我在使用以下触发器时遇到问题,该触发器记录了在 table A 上插入属性 'numero'= 4 并插入进行修改的 table B以及 table 中属性 'numero'= 4 的条目数 A. 问题似乎是 select * 计数,但我无法弄清楚。任何帮助将不胜感激!

DELIMITER $
CREATE TRIGGER t_BI          
AFTER INSERT ON A
FOR EACH ROW
    BEGIN
      IF NEW.numero=4 THEN
        INSERT INTO B(name,nbLoc)
        VALUE(CURRENT_USER(),SELECT COUNT(*) FROM A WHERE numero = 4);
      END IF;
    END
$

DELIMITER ;       

首先尝试将计数值存储在变量中,然后在 INSERT

中使用该变量
DELIMITER $
CREATE TRIGGER t_BI          
AFTER INSERT ON A
FOR EACH ROW
    BEGIN
    
      DECLARE cnt INT;

      IF NEW.numero=4 THEN
      
        SET cnt = ( SELECT COUNT(*) FROM A WHERE numero = 4) ;        
      
        INSERT INTO B(name,nbLoc)
        VALUE(CURRENT_USER(), cnt);
        
      END IF;
      
    END
$

DELIMITER ;