MySQL - 如果存在更新,否则不要插入 - 如何在触发器中做得最好

时间:2012-03-08 12:43:20

标签: mysql triggers

如何创建一个仅在存在时更新的触发器,但不要在mysql中插入。

提前致谢。

编辑:我不知道使用update语句只是更新(如果存在),并且如果不存在则不会抛出任何错误。感谢@juergend

1 个答案:

答案 0 :(得分:1)

您可以指定触发器何时触发:例如更新后。
当它被解雇时,你可以做任何你想做的事情,例如更新另一个表。

通常情况就是这样:

delimiter //
CREATE TRIGGER upd_trigger_name after UPDATE ON your_updated_table
   FOR EACH ROW
   BEGIN
        update other_table set col1 = a_value where id = other_value
   END;
//
delimiter ;

MySQL关键字:

update -> updates a record if found
insert -> inserts a new recods
replace -> updates if record found, inserts if not