Web 服务器事务与数据库触发器 - 哪个是首选?
Web server transaction vs DB trigger - which is preferred?
请教一个情况,两个table的每个值必须同时改变
上面有两种方式,Web服务器事务,DB触发器。
Web 服务器交易是否 100% 安全?我担心这样的情况,例如一个 table 的一个值已更改,但另一个 table 的另一个值没有更改。
我认为 DB 触发器比 Web 服务器事务更安全,但由于上述担忧,我同时使用了它们。
另外,想请教一下DB的程序。它是首选吗?我宁愿用php码也不用
存在交易以完全解决您描述的问题。要么事务中的所有查询都成功,要么数据库回滚,就好像什么都没发生过一样。
虽然我敢肯定有人会不同意我的看法,但我不喜欢使用触发器或存储过程来创建程序逻辑。不是因为安全,而是因为触发器变成了隐藏代码,而不是在你的版本控制系统中(除非你勤于迁移),在一个查询中添加你在阅读源代码时看不到的逻辑。
那么错误处理呢?如果触发器失败,你会怎么做?
想想下一个将在你的代码上工作的人,即使那个人是你,两年后。简单明了总是有好处的。
请教一个情况,两个table的每个值必须同时改变
上面有两种方式,Web服务器事务,DB触发器。
Web 服务器交易是否 100% 安全?我担心这样的情况,例如一个 table 的一个值已更改,但另一个 table 的另一个值没有更改。
我认为 DB 触发器比 Web 服务器事务更安全,但由于上述担忧,我同时使用了它们。
另外,想请教一下DB的程序。它是首选吗?我宁愿用php码也不用
存在交易以完全解决您描述的问题。要么事务中的所有查询都成功,要么数据库回滚,就好像什么都没发生过一样。
虽然我敢肯定有人会不同意我的看法,但我不喜欢使用触发器或存储过程来创建程序逻辑。不是因为安全,而是因为触发器变成了隐藏代码,而不是在你的版本控制系统中(除非你勤于迁移),在一个查询中添加你在阅读源代码时看不到的逻辑。
那么错误处理呢?如果触发器失败,你会怎么做?
想想下一个将在你的代码上工作的人,即使那个人是你,两年后。简单明了总是有好处的。