程序员书籍笔记 程序员书籍笔记
  • JavaScript
  • HTML/CSS
  • PHP
  • Python
  • Go
  • 数据库
  • 容器
  • 微服务
  • 消息队列
  • 搜索引擎
  • 大数据
  • 鸟哥Linux私房菜
其他
  • 大数据
  • 深度学习
APP下载 (opens new window)
GitHub (opens new window)
  • JavaScript
  • HTML/CSS
  • PHP
  • Python
  • Go
  • 数据库
  • 容器
  • 微服务
  • 消息队列
  • 搜索引擎
  • 大数据
  • 鸟哥Linux私房菜
其他
  • 大数据
  • 深度学习
APP下载 (opens new window)
GitHub (opens new window)
  • 数据库

    • MySQL必知必会

      • 数据检索、排序、过滤
      • 数据处理、汇总、分组
      • 子查询、连表、组合
      • 全文本搜索、插入
      • 更新、删除、表操作
      • 视图、存储过程、游标
      • 触发器、事务
        • 触发器
          • 创建触发器
          • 删除触发器
        • 事务
          • 启动事务
          • 回滚事务
          • 提交事务
          • 使用保留点
          • 更改默认的提交行为
      • 全球化、安全、维护
    • MongoDB权威指南

  • 容器

  • 微服务

  • 消息队列

  • 搜索引擎

  • 大数据

  • 框架和软件
  • 数据库
  • MySQL必知必会
小游
2021-05-07

触发器、事务

# 触发器

当我们执行某个语句的时候,想触发某个函数,这个时候我们可以使用触发器

# 创建触发器

这个在Navicat好像创建触发器会失效,这里就直接贴书上的例子吧

image-20210511171212275

# 删除触发器

使用drop语句删除

DROP TRIGGER handle
1

# 事务

MyISAM和InnoDB是两种最常使用 的引擎。前者不支持明确的事务处理管理,而后者支持

# 启动事务

直接使用 START TRANSACTION 来标志事务的开始

# 回滚事务

我们可以使用 ROLLBACK 来进行回滚,比如下面这个:

SELECT * FROM card;
START TRANSACTION;
DELETE FROM card WHERE ID = 1;
SELECT * FROM card;
ROLLBACK;
SELECT * FROM card;
1
2
3
4
5
6

可以查看下面这三个结果

image-20210511171717130

image-20210511171958685

image-20210511172004626

可以看到,我们的数据成功删除了,但是回滚后数据又恢复了。。。

# 提交事务

使用 COMMIT 来提交事务,比如下面这个。如果前面语句都没啥问题的话,commit后如果没啥问题,事务就会提交成功。

START TRANSACTION;
DELETE FROM card WHERE ID = 1;
DELETE FROM card WHERE ID = 1;
DELETE FROM card WHERE ID = 1;
COMMIT;
1
2
3
4
5

# 使用保留点

使用 SAVEPOINT 关键词就可以设置保留点了,然后加上 ROLLBACK 可以回退到保留点。(这个要在事务中才有用)

START TRANSACTION;
SAVEPOINT point1;
DELETE FROM card WHERE ID = 2;
ROLLBACK TO point1;
COMMIT;
1
2
3
4
5

# 更改默认的提交行为

默认的MySQL行为是自动提交所有更改。换句话说,任何 时候你执行一条MySQL语句,该语句实际上都是针对表执行的,而且所做 的更改立即生效。为指示MySQL不自动提交更改,需要使用以下语句

SET autocommit = 0;
1

autocommit标志是针对每个连接而不是服 务器的

编辑 (opens new window)
上次更新: 2021/05/11, 19:39:39
视图、存储过程、游标
全球化、安全、维护

← 视图、存储过程、游标 全球化、安全、维护→

Theme by Vdoing | Copyright © 2021-2021 小游
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式