MYSQL基础(TPL)

事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。

–修改默认引擎为INNODB,以支持事务管理

ALTER TABLE dept ENGINE=INNODB;
SELECT * 
FROM dept;

– 去掉自动提交

SET autocommit=0;

– 事务提交,全部语句都能执行,则整个事务都能执行(事务具有原子性,若不提交全部不提交)

//开始事务
BEGIN;
DELETE FROM dept where deptno='45';
DELETE FROM dept where deptno='08';
DELETE FROM dept where deptno='06';
COMMIT;
// 事务提交,三句中任何一句不能执行,则整个事务都不能执行

–若一段事务中有错或遇到ROLLBACK;,事务回滚至上一次提交的位置
E.G1

BEGIN
DELETE FROM dept where deptno='45';
DELETE FROM dept where deptno='08';
COMMIT;
// 以下2句都能执行,但整个事务回滚
DELETE FROM dept where deptno='66';
DELETE FROM dept where deptno='67';
ROLLBACK;
SELECT * FROM dept;

E.G2

// 开始事务
BEGIN;
DELETE FROM dept where deptno='01';
SAVEPOINT p1;
DELETE FROM dept where deptno='02';
SELECT * FROM dept;
// 撤销p1后的sql语句
ROLLBACK to p1;
SELECT * FROM dept;
DELETE FROM dept where deptno='30';
// 事务提交,任何一句不能执行,则整个三句都不能执行
COMMIT;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值