首页 > 编程知识 正文

事务四大特性是什么,事务处理的四个特性

时间:2023-05-04 15:57:45 阅读:224592 作者:2062

在介绍前先说一下主要实现的功能介绍使用:
在我们使用update,delete,insert 执行完MYSQL数据库会自动提交,操作磁盘数据库储存到磁盘中,在个体语句执行的时候是各自独立的,对信息的删除,修改和添加的时候这就会在磁盘上直接进行操作的,当然我们也无法撤回所做的结果。
个体的独立性表现为,其中在一个语句中添加分号“;”的时候;就可以多条语句一起运行在数据库运行软件Navicat中的,
当一块运行的时候,应为在计算机中运行为线性运行的,只要有一个出错就不执行下面的了,但不影响前面的正常语句进行。如下:


但当我们存储的信息使必须同时进行的时候这样就不行了,当我们在转账的时候就需要我们一个得到金额一个减少金额要同时进行才行。在存入数据库中有个set autocommit=0;#取消软件默认的自动提交可以用来对现存入的数据先进入缓存区而不直接进入磁盘,用commit来进行提交把缓存中的信息储存到磁盘中,他只是提交当前缓存数据进入磁盘,结束当前缓存区中数据的存入,此时以后在操作还是在缓存区中,并没有结束autocommit=0,若要使系统进入自动提交状态还得点击一次commit,使结束autocommit=0,否则每一运行都会在缓存中运行,当此时主户用delete删除自己数据时只是在缓存区进行,当其他成员调用的时候还是原来的信息,并显示出删除,但此时主户查询时就已经可以显示删除了,当在点击commit的时候其他用户再调用这个信息时也就删除了。:

rollback

作用:ROLLBACK即回退或回滚,表示事务中有执行失败的操作,这些操作必须被撤销,ROLLBACK告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的部分或所有更新必须被撤销,他的作用用来清空缓存空间中的数据还是撤回上一步中所出来的修改但不提交和commit不一样的。
1.数据在COMMIT/ROLLBACK前的状态:
事务中所有数据变更都会被临时存放在数据库的缓冲池中,直到事务被提交或者回退。因而事务中早先的状态是可以被恢复的。
用户可以通过SELECT语句查询自己发起事务的数据变更,即使事务未被提交。但不能看到他人发起事务中未被提交的数据。
用户发起事务中的变更数据将被数据库系统锁定。除该用户外,其他用户不能对锁定的数据进行变更操作,直到锁定的数据被提交或回退,就如已经在MySQL运行器上实行了在缓存区运行的,此时在eclipse调用事务进行程序的时候会一直等待在MySQL运行器缓存器中运行结束也就是提交才能运行。

这是在说在缓存中有线程功能在进行。

2.数据在COMMIT后的状态:
数据变更在数据库中正式生效
数据不可被还原
所有用户可以看到变更数据
数据锁将被释放,一度被锁定的数据重新可以被所有用户修改
所有的保存点(savepoint)都被清除

3.数据在ROLLBACK后的状态:
所有数据变更都取消,数据状态恢复到事务开始前
数据锁将被释放,一但被锁定的数据重新可以被所有用户修改,若是在一个线程里有缓存空间运行数据时,则在其他运行器调用在次设置缓存事物运行,则是不允许的线程只能是一个一个的进行。

1.没有提交(commit)的数据删除后可用rollback来恢复
2.提交(commit)了的数据在次删除后可以使用rollback恢复
3.删除数据后提交(commit)则无法使用rollback恢复

以上只是在用到的过程中,就随便搜了一点分享给大家,以后有更多资料了,再接着共享, 对了,还有一点,就是使用delete命令后没有commit,在程序里实现插入或者其他操作的时候会一直处在正在执行的状态,但是commit后就不会出现了~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。