service层定义的事务可以回滚数据库吗

service层定义的事务可以回滚数据库吗,第1张

您好,您的问题是:service层定义的事务可以回滚数据库吗?答案是肯定的,service层定义的事务可以回滚数据库。事务回滚是指在一个事务中,在执行完某个 *** 作之后,可以将数据库恢复到事务开始之前的状态。在service层定义的事务中,可以使用事务回滚来保证数据库的完整性和一致性。事务回滚可以有效地防止数据库中的数据发生意外的更改,从而保证数据的安全性。

简单的来说,我给你举两个例子:

1、对数据库做了ddl的 *** 作,但是没有进行提交 *** 作,此时就会提示受影响行数,如果最后没有进行提交 *** 作,数据就会回滚。

2、对数据进行 *** 作时,如果数据报错,如批量插入数据,其中有一条无法插入,那么此次的 *** 作就会被视为无效,数据库就会回滚,以保证数据的完整性。

3、在程序开发时,是以事务为原子性 *** 作的,此时可能因为一个业务 *** 作会对数据库的多个表进行增删改,如果中间出现问题,那么对已 *** 作部分的数据怎么办呢?

数据库的回滚就可以解决。

你每个命令带一个事务,其实跟没有事务是一样的,不成功是没有回滚的。

START TRANSACTION

INSERT INTO `guwitest`.`cdn` (`id`, `operatorId`, `type`, `distributionTarget`, `distributionName`, `distributionDomain`, `status`) VALUES ('1', '1', 'cloudfront', 'metadata', '1', '1', '0')

create table guwitest.aa(id int(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id))

ROLLBACK


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6692430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存