我有一个简单的问题。香港专业教育学院有一个触发值插入到另一个数据库INSERT ON DUPLICATE KEY上的触发器
因此,举例来说,如果有两个值,并触发在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//
触发剂量甚至会抛出任何错误。我已经在B无值
我的插入是
INSERT INTO a (val) VALUES(`test`) ON DUPLICATE KEY UPDATE dateUpdate=CURRENT_TIMESTAMP
有没有人有任何想法。我曾尝试创建两个触发器INSERT
和另一个UPDATE
,我将AFTER
更改为BEFORE
,而我的表b
仍然没有任何结果。任何想法感谢事先
伟大的问题,并成为老年人。那么,如果你想在触发器内同时获得OLD.val和NEW.val呢? – 2013-02-28 19:38:57