我有一个非规范化字段,需要模仿另一个字段上游。因此,我想在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
这是什么样的正确触发语言?
答案 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 ;