php - Web 服务器事务与数据库触发器 - 哪个是首选?

标签 php mysql database rdbms

请问有一种情况,两个表的每个值必须同时改变。

以上有两种方式,Web服务器事务、DB触发。

网络服务器交易100%安全吗?我担心像一个表的一个值已更改但另一个表的另一个值没有更改的情况。

我认为数据库触发器比Web服务器事务更安全,但由于上述担忧,我同时使用它们。

另外,我想请教一下DB程序的问题。是首选吗?我更喜欢使用 php 代码,不使用它。

最佳答案

交易的存在正是为了解决您所描述的问题。要么事务中的所有查询都成功,要么数据库回滚,就像什么都没发生一样。

虽然我确信有人会不同意我的观点,但我不喜欢使用触发器或存储过程来创建程序逻辑。不是因为安全,而是因为触发器成为隐藏代码,不在您的版本控制系统中(除非您勤于迁移),向查询添加了您在阅读源代码时看不到的逻辑。

那么错误处理呢?如果触发器失败你会做什么?

想想下一个将在你的代码上工作的人,即使那个人是你,从现在起两年后。简单和清晰总是有好处的。

关于php - Web 服务器事务与数据库触发器 - 哪个是首选?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55565419/

相关文章:

mysql - 将 Visual C++ 连接到在线数据库

php - Cron 作业的 .sh 脚本中的好命令

php - Facebook : "This authorization code has been used.","type":"OAuthException","code":100

php - Postgres 到 php 数组

python - 如何强制 SQLAlchemy 更新行

MySQL Left Join - 如何获取第二张表中的记录数

mysql - 如何在输入 $ ps -ef | 后停止 MySQL grep mysql 吗?

c# - 用于大型静态索引数据的最佳无服务器数据库?

php导入本地CSV文件到MYSQL表

mysql 如果更新后全部为空则删除行而不触发