0
我想創建一個觸發器,它將觸發重複鍵更新,但它不起作用。這個想法是,在每個重複密鑰更新上,我想複製歷史記錄表中更新行的舊內容。Mysql:重複鍵更新觸發不起作用
INSERT INTO t1
(
w1,
w2
)
Select
w1,
w2
from t2
on duplicate key update
w2 = IF(values(w2) is not null and values(w2) != "", VALUES(w2), t1.w2);
和觸發:
drop trigger if trigger1;
DELIMITER $$
CREATE
TRIGGER trigger1 before update ON t1
FOR EACH ROW
BEGIN
INSERT INTO history_table
(
w1, -- this is primary key
w2
)
values(
old.w1,
old.w2
);
END$$
DELIMITER ;
是否有人知道如何使它工作和一般的,如果它是可能的。
我試圖讓觸發器在插入之前啓動並且不起作用。
謝謝
我懷疑唯一的方法可能是'AFTER UPDATE'觸發器。運行的'BEFORE'觸發器總是'BEFORE INSERT','BEFORE'觸發器在技術上應該在服務器發現重複密鑰違規之前觸發。 – 2014-08-28 23:37:27