社区
Java EE
帖子详情
关于数据库commit失败后rollback的问题?
ganhuanghuang
2011-10-16 06:43:01
若数据库操作commit发生异常,没有执行回滚,这时数据会存入数据库吗?如果不会存入数据库,为什么还要在程序里写rollback?
...全文
497
6
打赏
收藏
关于数据库commit失败后rollback的问题?
若数据库操作commit发生异常,没有执行回滚,这时数据会存入数据库吗?如果不会存入数据库,为什么还要在程序里写rollback?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qybao
2011-10-17
打赏
举报
回复
[Quote=引用楼主 ganhuanghuang 的回复:]
若数据库操作commit发生异常,没有执行回滚,这时数据会存入数据库吗?如果不会存入数据库,为什么还要在程序里写rollback?
[/Quote]
LS说了一些了,对于事务的完整性来说,要么整体commit,要么整体rollback,如果事务进行了某些数据库的更新操作,那么数据记录就可能被排它锁住,要释放锁,要么commit,要么rollback,否则其他连接就可能发生等待超时
beiouwolf
2011-10-17
打赏
举报
回复
提交/回滚都是对于事务来说的
只有在同一个事务的前提下,所有进行的操作在commit前都可以进行回滚
dxqrr
2011-10-17
打赏
举报
回复
需要回滚的
leecyz
2011-10-17
打赏
举报
回复
rollback也可能发生异常,所以在开始设置自动提交等于false.
只有commit成功,整个事务才成功。
lmw1314
2011-10-16
打赏
举报
回复
[Quote=引用 1 楼 ss36290109 的回复:]
。。。这个是用作批量的,你100条数据,99条没问题,最后条出问题 你前面99都commit了 最后条出错 那不是整个批量回滚
[/Quote]
正解
ss36290109
2011-10-16
打赏
举报
回复
。。。这个是用作批量的,你100条数据,99条没问题,最后条出问题 你前面99都commit了 最后条出错 那不是整个批量回滚
Oracle事务控制:
COMMIT
/
ROLLBACK
/SAVEPOINT详解
事务是
数据库
管理系统中作为单个逻辑工作单元执行的一系列操作,具有ACID特性:原子性、一致性、隔离性和持久性。Oracle
数据库
通过
COMMIT
、
ROLLBACK
和SAVEPOINT命令实现事务控制。
COMMIT
用于提交事务,使修改永久保存;
ROLLBACK
用于回滚事务,撤销未提交的修改;SAVEPOINT则允许回滚到特定点,提供更细粒度的控制。事务控制的最佳实践包括合理设置事务大小、异常处理、保存点使用、性能考虑和并发控制。通过合理使用这些命令和实践,可以确保
数据库
操作的完整性和一致性。
MySQL-
commit
,
rollback
MySQL-
commit
,
rollback
Mysql:
COMMIT
和
ROLLBACK
COMMIT
: 表示提交数据。一旦执行
COMMIT
,则数据就被永久的保存在了
数据库
中,意味着数据不可以回滚。
ROLLBACK
:回滚数据。一旦执行
ROLLBACK
,则可以实现数据的回滚,回滚到最近的一次
COMMIT
之后。!!
数据库
操作语句执行
失败
后,不一定要
rollback
见标题前提条件 auto
commit
=false 融离级别为read
commit
,不使用语句加锁当一条词句出错后,它本身就没有更改数据,它没有更改数据就没有锁定资源,所以不要
rollback
这只是针对一条语句来说的,但是多条语句就需要
rollback
了。因为由可能前面的数据已经执行了更改,但是后面的却
失败
了。所以要撤消掉前面的结果,并释放资源。当设置auto
commit
=false 时,
【转】Oracle
数据库
中
commit
和
rollback
命令
在这里我只简单介绍一下这两个命令,只是我在使用的过程中用到了,所以就在这里提一提,如果大家对这个感兴趣的话,可以去搜索一些更多的介绍,欢迎分享出来~~ 一个
数据库
事务起始于一个SQL语句,中止于以下4种事件之一:
COMMIT
或
ROLLBACK
语句 DDL/DCL隐式提交 用户退出时自动提交 系统强行关闭时取消事务 事务结束后,下一条SQL语句将开始一个新的事务。 语句 功能
Java EE
67,543
社区成员
225,859
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章