数据库中前滚、回滚什么意思

 我来答
社伶晨
2011-03-17 · TA获得超过247个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:180万
展开全部
数据库中的undo、rollback,既撤消和回滚。首先这2个操作是针对事务来说的,事务的概念请楼主自行百度。
举一个简单的例子,A给B转账,在数据库中就需要给A,B进行update操作。这2条sql语句必须都执行或者都不执行(称为一个事务)。假如先执行B的update语句,B的金额增加了100,然后执行A的update语句,A的金额减100。如果A的余额大于100,那么2个语句没问题,但是A的余额小于100时,再减100就变成负的了,这不符合实际情况。所以第二条sql就出现无法执行,那么数据库的状态必须回到没有执行B的update语句之前。
当一个事务执行的时候,数据库会依次执行中间的sql语句,当某一条sql发生错误以后,根据事务的原子性,通过2种方式使数据库回到事务没有执行的状态。撤销就是相当于不执行commit;回滚就是执行一遍相反的操作,比如再执行B的update金额减100。
匿名用户
推荐于2018-06-01
展开全部
前滚和回滚是 SQL Server? 中的两个事务操作。

前滚-恢复。白话:还没有做,根据日志继续把它做完。
回滚-撤销。白话:已经做了,根据日志取消刚才所做的。
每个 Microsoft? SQL Server? 2000 数据库都有一个事务日志记录数据库内的数据修改,事务日志可以用于前滚和回滚操作。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
私用账号
2011-03-24
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
前滚是将未完成的操作继续完成,回滚是将执行完的操作回复过来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a800768
2011-03-17 · TA获得超过1841个赞
知道大有可为答主
回答量:1928
采纳率:0%
帮助的人:1714万
展开全部
就是把数据恢复到你操作以前的数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奇崛又清冽的小草
推荐于2017-09-06 · 知道合伙人互联网行家
奇崛又清冽的小草
知道合伙人互联网行家
采纳数:23 获赞数:83
从事网站开发多年

向TA提问 私信TA
展开全部
前滚:
未完全提交的事务,即该事务已经被执行commit命令了,只是现在该事务修改所对应的脏数据块中只有一部分被写到磁盘上的数据文件中,还有一部分已经被置为提交标记的脏块还在内存上,如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用前滚(这个机制)来完成事务的完全提交,即将先前那部分已经被置为提交标记且还在内存上的脏块写入到磁盘上的数据文件中。
回滚:
未提交的事务,即该事务未被执行commit命令。但是此时,该事务修改的脏块中也有可能一部分脏块写入到数据文件中了。如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用回滚(这个机制)来将先前那部分已经写入到数据文件的脏块从数据文件上撤销掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式