php mysql commit之后还可以rollback么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php mysql commit之后还可以rollback么相关的知识,希望对你有一定的参考价值。

参考技术A 事务(transaction)是由查询和/或更新语句的序列组成。 用 begin、start transaction
开始一个事务,rollback 回滚事务,commit 提交事务。 在开始一个事务后,可以有若干个 SQL 查询或更新语句,每个 SQL
递交执行后,还应该有判断是否正确执行的语句,以确定下一步是否回滚,若都被正确执行则最后提交事务。
事务一旦回滚,数据库则保持开始事务前状态。就好象一个被编辑的文件不存盘退出,自然还是保持文件原来的样子。
所以,事务可被视为原子操作,事务中的 SQL,要么全部执行,要不一句都不执行。
人家的回答,编辑文件可以理解吧
参考技术B mysql中只有INNODB和BDB类型的数据表才能支持事务处理,其他的类型是不支持的

在 GitHub for Windows 中 revert this commit 和 roll back this commit 是啥意思?

【中文标题】在 GitHub for Windows 中 revert this commit 和 roll back this commit 是啥意思?【英文标题】:What is the meaning of revert this commit and roll back this commit in GitHub for Windows?在 GitHub for Windows 中 revert this commit 和 roll back this commit 是什么意思? 【发布时间】:2013-02-08 23:04:50 【问题描述】:

Github for Windows 具有以下两个命令:

    revert this commit - 创建一个新的提交来还原此提交的更改 rollback this commit - 回滚此提交,将在此和后续提交中所做的所有更改保留在您的工作目录中

您能否解释一下这两个命令的确切含义以及如何使用它们。具体来说,我不明白第二个的目的是什么。这对我来说毫无意义。

是否可以恢复到以前的提交,检查一下,如果我不喜欢它,回到最初的位置?

这个 gui 似乎只包含 git 系统的一小部分,但使用它的正确工作流程是什么?

【问题讨论】:

由于您在下面的一些回复似乎可以回答您的问题,请考虑通过单击其投票数下方的勾号将其中一个标记为“已接受”。这显示了哪个答案对您最有帮助,并将声誉点分配给答案的作者(以及您!)。通过投票和接受答案来确定好的问题和答案是本网站理念的一部分。 @Jubobs 完成!感谢您的提示! 【参考方案1】:

假设您的 repo 中有一个文件,并且您有以下提交:

commit 1 : the file contains A
commit 2 : the file contains B
commit 3 : the file contains C

如果你在 commit 3 上执行 revert,你会在 repo 中有这个:

commit 1 : the file contains A
commit 2 : the file contains B
commit 3 : the file contains C
commit 4 : the file contains B

您的工作副本中的文件也将包含 B。

如果你执行回滚,你会在 repo 中有这个:

commit 1 : the file contains A
commit 2 : the file contains B

并且您的工作副本中的文件将保持不变。因此,该文件将包含 C。例如,它允许您修复一个小错误并再次提交。

【讨论】:

所以我基本上会删除提交但不会更改任何文件?这样做的目的是什么?如果我将提交命名为:“BBbbadd spppelling”,然后我注意到我的错误就是我修复它的方式。或者还有更多内容? 是的。你为什么不做实验看看会发生什么? 实际上我现在正在试验,但我不太确定到底发生了什么:) 我想我现在终于明白了。我找不到任何关于这两个命令功能的“帮助/维基”。谢谢! 第二个命令只是移动HEAD,所以你可以解释一下。 可能值得注意的是,git reset --hard <old-commit-id> 会将 repo 和工作副本回滚到提供的old-commit-id。而使用 --soft 选项只会更改 HEAD 并保持您的工作副本不变。【参考方案2】:

是否可以恢复到以前的提交,检查一下,如果我不喜欢它,回到最初的位置?

现在(2013 年 3 月),使用 GitHub for Windows,您无需输入任何 git 命令即可撤消回滚:

见“Undo Button in GitHub for Windows”

我们添加了对放弃、提交、回滚和合并的撤消支持

【讨论】:

以上是关于php mysql commit之后还可以rollback么的主要内容,如果未能解决你的问题,请参考以下文章

oneinstack安装lnmp之后还需要 对nginx与php集成吗

请问oracle commit以后还能再回滚吗,rollback必须写在commit之前吗

mysql————Innodb的可重复读的情况下如何避免幻读?

PHP与MYSQL事务处理

PHP与MYSQL事务处理

commit参数有什么作用?