MySQL的rollback--事务回滚

MySQL version:5.7
首先:事务回滚只用于DML,不适用于DDL。对于DDL的回滚,以后有时间再说。

关于rollback和commit,MySQL的文档已经说的很详细了,选择其中一个简单的例子再絮叨下:

mysql> CREATE TABLE customer (a INT, b CHAR (20), INDEX (a));
Query OK, 0 rows affected (0.00 sec)
mysql> -- Do a transaction with autocommit turned on.
mysql> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO customer VALUES (10, 'Heikki');
Query OK, 1 row affected (0.00 sec)
mysql> COMMIT;

开启事务,可以用上面例子中的START TRANSACTION;或者简单的begin;;
提交事务,即确认DML的改动,使用commit;
回滚事务,即要回退掉之前的操作,使用rollback;
另外:如果不提交也不回滚,执行的DML只是在当前会话有效,在其他会话是不生效的(不信你再重新打开一个连接窗口看看),所以begin一开始,要么以commit结束,要么以rollback结束。

在执行较大量的update或delete时,提醒自己一定要用事务事务啊啊!!

参考:
MySQL官方文档:https://dev.mysql.com/doc/refman/8.0/en/innodb-autocommit-commit-rollback.html

  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值