我有一张表,可以跟踪分配给特定班次的员工人数。每次将用户分配到班次时,触发器会通过将have
列增加一来更新表。 (这是由于性能问题)
插入后触发器触发。但我还需要它在用户被删除时触发。我真的不想使用基本相同的2个触发器。
无论如何要在不使用程序的情况下实现这一目标?
答案 0 :(得分:1)
不,你无法实现这一点,你不想使用存储过程和两个触发器。在MySQL中,触发器只能附加到一个 trigger_time & trigger_event - 因为它是defined这样的方式:
trigger_time: { BEFORE | AFTER }
trigger_event: { INSERT | UPDATE | DELETE }
因此,在任何情况下,您都需要有两个触发器,如果您不想在其中重复某些代码,则必须使用存储过程。由于您不想使用存储过程,我相信您的问题没有可接受的解决方案。
答案 1 :(得分:0)
触发器与表和特定事件(插入,更新,删除)相关联。 你有两个动作:AFTER INSERT和AFTER DELETE,所以你需要两个触发器。