仅在MySQL上不存在时才创建触发器

时间:2011-04-04 19:48:44

标签: mysql sql triggers

我正在编写一个脚本来在MySQL中的表上创建触发器,但触发器可能已经存在。

这是我需要担心的事情,还是创建触发器会覆盖任何具有相同名称的触发器?

我考虑在DROP TRIGGER IF EXISTS之前使用CREATE TRIGGER...语句。这会有任何性能损失或其他缺点吗?

1 个答案:

答案 0 :(得分:4)

使用DROP TRIGGER IF EXISTS正是这样做的方法。唯一的缺点是,如果你不知道一个触发器,并且完全同名(如果遵循命名约定可能),那么你将失去其背后的定义和功能。

  

会创建触发器覆盖任何具有相同名称的触发器吗?

不,实际上它会因错误而失败。