我有一個簡單的問題。香港專業教育學院有一個觸發值插入到另一個數據庫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