当我可以检查应用程序层中的任何数据(例如,使用PHP或JavaScript)然后将其发送到数据库时,我真的不明白使用MySQL Trigger的原因。那么,当我必须使用触发器的情况是什么时候?
答案 0 :(得分:4)
不确定您正在谈论的性能问题。而且,你弄错了;在您的应用程序级别,您检查数据的健全性或检查恶意数据。
然而,触发器用于根据触发事件采取某些操作,其中触发事件可以是任何DML语句(插入/更新/删除)。触发器不用于数据验证或数据的健全性检查。
同样,在一个注意事项上应该注意DB级别的事情;应该传递给DB。
例如,在您的应用程序级别,您可以检查输入的Age
是否为文本而且应该是数字,但在触发器中,您将检查输入Age
是否在特定范围内(例如,年龄<= 100)然后根据支票做一些动作。