SQL事务的开启,提交和回滚

在处理数据库数据的时候会出现一种情况就是我们删除两个关联的表其中一个表的信息,另一个表也需要改动,但是我们SQL语句在同时更改两个表的同时,难免会出现一个表修改成功,另一个出现错误,这时候表与表之间就会出现矛盾,就用到了回滚,为了更安全的修改表的数据,就有了事务。

1.开启事务: start transaction; / begin ;

举个例子,我要把职务表里面的职务删除一个,在操作正确的情况下是这样的:

 id是1的部门已经没有了,

同时,1号职务的员工也没有了,

再来一个错误的例子:

这样就会出现一种员工选择2号职位但是职位表里面却没有2号职位

 再看,

所以我们就要在处理这种数据之前要开启一个事物作为保障,如果失败还可以回滚事务,作为应急。


2.提交事务: commit;

 开启一个事务之后,在运行完指定指令之后要提交事务,否则会可视化界面跟后天数据不同步,举个例子:

看不提交结果:

提交一下再看:

这就是提交事务。


3.回滚事务: rollback;

这相当于一个保险栓,防止数据操作一般出现错误而造成乌龙,看例子:

这里错误就不展示了,创建事务展示过了,直接回滚:

 

相关推荐

  1. springmvc 多事务提交

    2023-12-10 09:30:02       7 阅读
  2. 【达梦数据库】查看pesg段信息视图SQL

    2023-12-10 09:30:02       26 阅读
  3. 【git】发生冲突后提交

    2023-12-10 09:30:02       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-10 09:30:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-10 09:30:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-10 09:30:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-10 09:30:02       18 阅读

热门阅读

  1. Matlab: 输入解析器验证函数

    2023-12-10 09:30:02       35 阅读
  2. (C)一些题11

    2023-12-10 09:30:02       36 阅读
  3. 图论与网络优化3

    2023-12-10 09:30:02       30 阅读
  4. gin自定义日志

    2023-12-10 09:30:02       46 阅读
  5. AlexNet

    AlexNet

    2023-12-10 09:30:02      40 阅读
  6. GitHub为Rust语言添加了供应链安全工具

    2023-12-10 09:30:02       44 阅读
  7. 用Go写一个缓存工具

    2023-12-10 09:30:02       45 阅读
  8. 本地部署 Qwen-Audio-Chat

    2023-12-10 09:30:02       40 阅读
  9. YOLOX 学习笔记

    2023-12-10 09:30:02       29 阅读
  10. Django模板

    2023-12-10 09:30:02       33 阅读