我有一个简单的问题.我有一个触发器将值插入另一个数据库
因此,例如,如果有两个值,并且触发器正在检查值Table A并插入Table B
所以这是代码
-- Trigger DDL Statements
USE `db`;
DELIMITER //
CREATE
DEFINER=CURRENT_USER()
TRIGGER `db`.`AFTER_INSERT_A`
AFTER INSERT ON `db`.`a`
FOR EACH ROW
BEGIN
IF NEW.val!= NULL
THEN
UPDATE b SET dateRemove=CURRENT_TIMESTAMP WHERE val=NEW.val;
INSERT INTO b (val) VALUES(NEW.val) ON DUPLICATE KEY UPDATE dateRemove=NULL, dateUpdate=CURRENT_TIMESTAMP;
END IF;
END//
Run Code Online (Sandbox Code Playgroud)
触发剂甚至会引发任何错误.我在B中没有价值观
我的插页是
INSERT INTO a (val) VALUES(`test`) ON DUPLICATE KEY UPDATE dateUpdate=CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)
有没有人有任何想法.香港专业教育学院尝试创建两个触发器一个INSERT,另一个UPDATE,我已经改变了AFTER,以BEFORE我的表b仍一无所获.任何想法提前感谢
Ang*_*.47 10
要在诸如的查询上运行的触发器
INSERT INTO table (x, y, z) VALUES('x', 'y', 'z') ON DUPLICATE KEY UPDATE x=VALUES(x);
Run Code Online (Sandbox Code Playgroud)
必须始终在BEFORE INSERT触发器上运行.