MySql事务处理

 什么是事务         

事务是作为数据库的一个整体来执行的,在一个事务里,所有的操作要么都执行,要么都不执行,从而保证数据的安全一致。

四大特性ACID

     Atomicity:事务是一个完整的操作,事务的各步操作是不可分的(原子的),要么都执行,要么都不执行
    Consistency:当事务完成时,数据必须处于一致状态
    Isolation:并发事务之间彼此隔离、独立,它不应以任何方式依赖于或影响其他事务
    Durability:事务完成后,它对数据库的修改被永久保持

使用事务

    手动开启事务:BEGIN ; 或 START TRANSACTION;
    提交事务:COMMIT ;
    回滚事务:ROLLBACK ;

    设置还原点:SAVEPOINT
注意:MySQL中默认每条SQL语句都是一个单独的事务,并且自动提交,

可以通过设置默认提交方式来改变它
【0为默认不提交,1为默认提交】SET autocommit = 0|1; 

事务代码示例:

-- 关闭/开启自动提交状态
-- SET autocommit = 0|1;
-- 值为0:关闭自动提交
-- 值为1:开启自动提交
SET autocommit = 0 ;

-- 开事物 
-- begin ;
-- start transaction ;
BEGIN ;
SELECT * FROM emp ;
-- 还原点 
SAVEPOINT p1 ;

DELETE FROM emp WHERE deptno = 10 ;

-- 还原 
ROLLBACK TO p1 ;

-- 提交 
COMMIT;

-- 还原自动提交
SET autocommit = 1 ;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cssl-虞老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值