MySQL 未触发前触发插入

MySQL Trigger Insert Before Not Firing

我正在尝试添加用于审核的触发器以初始化插入的日期时间字段。有没有人看到可能导致此触发器不触发的原因???

USE example;

CREATE TABLE USERS (
    ID  INT UNSIGNED NOT NULL AUTO_INCREMENT,
    FULLNAME    VARCHAR(128) NOT NULL,
    `PASSWORD`  CHAR(88) NOT NULL,
    EMAIL   VARCHAR(128) NOT NULL,
    FLAGS   TINYINT UNSIGNED DEFAULT 0,
    CREATED DATETIME,
    UPDATED TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    UNIQUE INDEX(EMAIL),
    PRIMARY KEY( ID )
);

DELIMITER $$;
CREATE TRIGGER USER_T BEFORE INSERT ON USERS FOR EACH ROW 
BEGIN 
    SET NEW.CREATED = CURRENT_TIMESTAMP();
END;$$
DELIMITER ;

INSERT INTO USERS(FULLNAME, `PASSWORD`, EMAIL) VALUES('Admin', 'sQnzu7wkTrgkQZF+0G1hi5AI3Qmzvv0bXgc5THBqi7mAsdd4Xll27ASbRt9fEyavWi6m0QP9B8lThf+rDKy8hg==', 'root@localhost');

您似乎在此处使用 ; 作为分隔符

 SET NEW.CREATED = CURRENT_TIMESTAMP();
END;$$
DELIMITER ;

试试这个:

DELIMITER $$;
CREATE TRIGGER USER_T BEFORE INSERT ON USERS FOR EACH ROW 
BEGIN 
    SET NEW.CREATED = CURRENT_TIMESTAMP();
END $$
DELIMITER ;