事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库 *** 纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。
事务的提交是指事务里的所有 *** 作都正常完成。
事务的回滚是指程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。
扩展资料:
事务的特征:
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
1、原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸 *** 作要么都做,要么都不做。
2、一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的 *** 作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
4、持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他 *** 作或故障不应该对其有任何影响。
参考资料来源:百度百科-事务
参考资料来源:百度百科-回滚
一、处理方式不同
1、手动提交:用显式的方式定义其开始和结束的事务,当使用start transaction和 commit语句时则表示发生显式事务。
2、自动提交:指每一条数据 *** 作语句都自动地成为一个事务,事务的开始是隐式的,事务的结束有明确的标记。
二、特点不同
1、手动提交:逻辑相关的 *** 作分成了一个组,在数据永久改变前,可以预览数据变化。
2、自动提交:能够保证数据的读一致性。
三、处理结果不同
1、手动提交:务被提交给了DBMS(数据库管理系统),则DBMS(数据库管理系统)需要确保该事务中的所有 *** 作都成功完成且其结果被永久保存在数据库中。
2、自动提交:事务中有的 *** 作没有成功完成,则事务中的所有 *** 作都需要被回滚,回到事务执行前的状态同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。
参考资料来源:百度百科-数据库事务
参考资料来源:百度百科-SQL数据库
已提交的事务就是已经成功执行,并也入到对应的数据表中。数据库在执行事务的过程是不会在实际的数据表中 *** 作数据的。
只有当你事务执行成功,才会提交事务。
否则,事务就会回滚,此时事务对数据表无任何作用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)