gpt4 book ai didi

mysql - MySQL 事务期间的立即命令

转载 作者:行者123 更新时间:2023-11-29 06:46:22 28 4
gpt4 key购买 nike

在注册过程中,我使用事务来封装帐户设置中涉及的所有操作,以便在出现问题时可以回滚。

发生的最后一项是计费过程,因此如果支付成功,将调用 Commit 操作以完成帐户创建,如果说用户的卡被拒绝,我将回滚。

但是,我想知道最好的方法是将尝试计费的日志写入数据库,而该特定写入操作不会被保护其他数据库操作的事务“覆盖”。这在 MySQL 中可能吗?有问题的日志表不依赖于任何其他表。由于在我们开始使用交易之前创建的遗留支付库,在回滚操作之后保留应用程序中的数据以写入它有些困难。如果 MySQL 有解决方案,我想避免这种情况。

最佳答案

我不会在考虑到该目标的情况下使用交易。您描述的操作似乎完全有权独立存在。

例如,一张发票有一个抬头和一行或多行。您使用事务来确保您不会在数据库中存储不完整的发票,因为那将是一个应用程序错误:在业务逻辑中没有任何情况,例如没有标题的行。

但是,从业务逻辑的角度来看,拥有一个未经确认的账户是完全合理的。客户可能更愿意了解情况并能够提供另一种付款方式,而不是重新开始。

此外,在如此冗长的过程中使用事务需要与 MySQL 服务器保持打开连接。如果您需要实现 HTTP 接口(interface),则必须重新考虑整个逻辑。

简而言之,事务是防止应用程序错误的工具,而不是实现业务逻辑的机制。

关于mysql - MySQL 事务期间的立即命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18485614/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com