【问题标题】:MySQL trigger not updating tableMySQL触发器不更新表
【发布时间】:2016-02-26 10:04:57
【问题描述】:

这段代码与我的问题非常相似。我不确定为什么表 A 根本没有更新。最后我 SELECT * FROM A 和 A 仍然是空的。我已经在这工作了几个小时,我不知道为什么我的触发器不起作用。谢谢

CREATE TABLE A
(
aVariable int
);

CREATE TABLE B
(
bVariable int
);

delimiter //

CREATE TRIGGER AB
AFTER INSERT ON B
FOR EACH ROW
BEGIN
    IF (NEW.bVariable < 10) THEN //I also tried bVariable < 10
       INSERT INTO A VALUES (11)
    END IF;
END;

delimiter ;

INSERT INTO B VALUES (1);

SELECT * //A is still empty
FROM A;

SELECT *
FROM B;

【问题讨论】:

    标签: mysql sql database triggers


    【解决方案1】:

    对 cme​​ts 使用正确的语法。见9.6 Comment Syntax

    DROP TABLE IF EXISTS B;
    DROP TABLE IF EXISTS A;
    
    CREATE TABLE A (
      aVariable int
    );
    
    CREATE TABLE B (
      bVariable int
    );
    
    DELIMITER //
    
    CREATE TRIGGER AB AFTER INSERT ON B
    FOR EACH ROW
    BEGIN
     -- IF (NEW.bVariable < 10) THEN //I also tried bVariable < 10
        IF (NEW.bVariable < 10) THEN -- //I also tried bVariable < 10
           -- INSERT INTO A VALUES (11)
           INSERT INTO A VALUES (11);
        END IF;
    END//
    
    DELIMITER ;
    
    INSERT INTO B VALUES (1);
    
    --  SELECT * //A is still empty
    SELECT * -- //A is still empty
    FROM A;
    
    SELECT *
    FROM B;
    

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多