0
点赞
收藏
分享

微信扫一扫

mysql的事务以及JDBC

猎书客er 2022-04-13 阅读 56
mysql

1-什么是事务
        事务就是一种机制,一个操作序列,包含了一株数据操作的命令,事务将这个命令一起提交,这个命令要么一起成功要么一起失败
        比如:淘宝买东西我支付宝总钱100元,商家总余额200元,然我50买他的东西,所以我的支付宝应该减50,商家加50,写代码时候如果我的支付宝减过了50那么商家的再加50是没错的,但是如果我减了然后出现异常了商家还没有加50,那么就会出现我钱减少了商家钱不变的情况。
        Mysql默认就自带事务,流程就是:开启事务----(出现异常就是回滚一起失败)没有异常-----提交事务。          代码:开启事务-start transaction      提交事务(如果一切正常)-commit     回滚事务(如果异常)-rollback
       MySQL的手动提交事务     set  autocommit = 0;  -- 0:OFF   1:ON     这个可以修改是否更改自动提交事务为自动的还是手动的,这个修改只是一次性的,就是只是针对这次链接有用,如果关闭连接再次打开链接则就又变成自动的了。         show variable like '%commit%'是显示当前事务为自动还是手动
       

start transaction;   -- 手动开启事务

update account set money = money-100 where name='a';  -- 执行减100命令

update account set money = money+100 where name='b';  -- 执行加100命令 

commit;  --提交事务,如果出现异常就两条一起回滚

       如果commit了以后那么就是永久性的改变不可回滚了。事务只是针对DML的也就是增删改

   事务的四大特性(面试高频):    
            
        

 

举报

相关推荐

0 条评论