![]() |
1
1
使现代化 :根据OP的评论,显然上下文非常具体。对于无法访问(或无法反馈和指导开发团队)代码的基础架构团队,需要一种机制来记录生产数据库中的表更改。 : 触发器可能很难调试,尤其是因为它们是透明的,而且对于刚看过你的代码的人来说,触发器在幕后执行某些操作从来都不明显。(我是凭经验说的。)它们也会在 replicated 、多主机和群集安装。(同样,我是根据经验说的。)此外,如果他们由于一些不相关的原因(例如,他们写的表坏了)而失败,那么 全部的 事务可以/将失败(InnoDB)-这可能不是您想要的。(尤其是非必要的“调试”功能。)
您还可以选择其他几个选项,我要强调其中两个选项:
如果您非常以数据为中心,并且在数据库中已经有了业务逻辑(这是一个备受争议的话题,我不是在这里争论您应该或者不应该在数据库中有业务逻辑),那么通过存储过程对数据库进行读写具有明显的优势。
任何
可以将逻辑插入这些存储过程中,以便
交易不安全
数据抽象层/库
使用这两种选项,请确保适当地处理错误场景。 |
![]() |
2
0
这个
|
![]() |
SRobertJames · 使用printf的gdb显示 1 年前 |
|
Subin · 在vscode中运行c时出错 1 年前 |
![]() |
Community wiki · 如何调试Python内存故障? 1 年前 |
![]() |
Kai · 有什么方法可以轻松优化VSCode中的锈迹? 2 年前 |
![]() |
Chris Brandon · 如何使节点在堆栈溢出时中断? 2 年前 |