MySQL-事务-介绍与操作

思考

  • 假设在一个场景中,学工部解散了,需要删除该部门及该部门下的员工
  • 对应的SQL语句
  • 涉及的数据表信息如下
    • 员工表
    • MySQL-事务-介绍与操作_第1张图片
       
    • 部门表
    • MySQL-事务-介绍与操作_第2张图片
  •  实现的SQL语句

    • -- todo 事务
      -- 删除学工部
      -- 删除1号部门
      delete
      from tb_dept
      where id = 1;
      -- 删除学工部下的员工
      delete
      from tb_emp
      where dept_id = 1;
  •  上述代码是正常地完成了数据的删除
  • 但是存在问题就是,如果上述的两个操作中只执行成功了一个,那么就破化了数据库中数据一致性原则,解决这一类问题就可以使用数据库中的事务来解决

事务

  • 介绍

    • 概念:事务是一组操作的集合,是一个不可分割的工作单位。事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
    • ps:在默认的MySQL的事务是自动提交的,也就是说,当执行一条SQL语句时,MySQL会立即隐式提交事务。
  • 操作
    • 开启事务:start transaction;/begin;
      • 开启事务
    • 提交事务:commit;​​​​​​​
      • 当所有操作执行成功后,提交事务
    • 回滚事务:rollback;​​​​​​​
      • 操作出现问题,选择回滚事务,撤销已经执行的操作

你可能感兴趣的:(Java,Web学习跟踪笔记,mysql,数据库)