gpt4 book ai didi

php - 停止 mysql 操作,直到所有操作都返回 true

转载 作者:行者123 更新时间:2023-11-29 06:10:51 25 4
gpt4 key购买 nike

我还没有找到这个问题的答案,很可能是因为它有一个我不知道的名字。任何人。

如果您对数据库有多个操作,例如:

if(insert_something_to_db($data) == TRUE){
if(delete_something_else_from_db($data2) == TRUE){
if(update_something_related_to_the_others_in_db($data3) == TRUE){
return TRUE;
}
}
} else {
return FALSE;
}

如果任何一个嵌套查询失败,那么前面的操作就会结束,这会导致数据库中的数据困惑。是否有可能/是否有某种技术/最佳实践来停止操作的执行,直到您知道它们是否都会成功。

我有一个例子:

如果有人想加入群组,他可以点击“加入群组” - 在数据库中创建通知。这显示在群组所有者的管理面板中。 - 群组所有者可以拒绝/接受申请。

接受时: - 申请人的用户数据更新为新的组信息。 - 原来发送给群管理员的通知将被删除 - 为申请人创建一个新通知,通知他已被接受。

只有当最外层条件返回 false(假设用户数据已更新)时,实际数据库才保存原始数据。如果第一次更新成功,但下一次更新失败,则配置文件已更新以反射(reflect)与新组的链接,但组管理员区域中的通知不会消失。

问候丹尼斯

最佳答案

您希望所有查询都在 transaction 中,以确保全有或全无的行为。

基本上,您会:

  • 开始交易
  • 提出疑问
  • 最后
    • 如果所有查询均成功,则提交事务
    • 否则,回滚事务


您可能想阅读更多一般信息:Database transaction

关于php - 停止 mysql 操作,直到所有操作都返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9249140/

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