我想问您一种情况,必须同时更改两个表的每个值。
上面有两种方式,即Web服务器事务,数据库触发器。
Web服务器交易是否100%安全?我担心这样的情况,例如一个表的一个值已更改,而另一表的另一个值却未更改。
我认为数据库触发器比Web服务器事务更安全,但是由于上面的担心,我同时使用它们。
此外,我想问您有关DB过程的问题。是首选吗?我更喜欢使用php代码,而不使用它。
答案 0 :(得分:2)
存在可以完全解决您描述的问题的事务。要么事务中的所有查询成功,要么回滚数据库,好像什么都没发生。
虽然我肯定会有人不同意我,但我不喜欢使用触发器或存储过程来创建程序逻辑。不是出于安全考虑,而是因为触发器变成了隐藏代码,而不是版本控制系统中的触发器(除非您勤奋地进行迁移),这在查询中添加了逻辑,使您在阅读源代码时看不到逻辑。
那么错误处理呢?如果触发失败,该怎么办?
想想下一个将在两年后使用您的代码的人,即使那个人是您。简洁明了将永远值得。