MySQL触发更新字段

时间:2017-07-15 00:27:07

标签: mysql sql

我有一个非规范化字段,需要模仿另一个字段上游。因此,我想在mysql中创建以下触发器:

CREATE TRIGGER
    ON UPDATE
    ON FIELD `_tracklookup`.`title_id`
    SET FIELD
        `_trackurl`.`title_id`=NEW VALUE
         WHERE `_trackurl`.`title_id`=OLD VALUE

基本上,我想编写一个级联语句,以便字段始终保持同步。例如:

发生这种情况时:

UPDATE _tracklookup SET title_id=12345 WHERE title_id=222

我希望以下内容自动发生:

UPDATE _trackurl SET title_id=12345 WHERE title_id=222

这是什么样的正确触发语言?

1 个答案:

答案 0 :(得分:1)

我会选择:

DELIMITER $$
CREATE TRIGGER after_title_id_update 
    AFTER UPDATE ON _tracklookup
    FOR EACH ROW 
BEGIN
    UPDATE _trackurl tu
    SET tu.title_id = NEW.title_id
    WHERE tu.title_id = OLD.title_id;
END$$
DELIMITER ;