sql的后悔药

有时常常因为自己更新错一个sql语句,造成大规模的数据改变,不得不恢复备份数据,但是备份数据和实时数据会有一些差别,如果运气好,恢复数据和实施数据相差无几,但点子背的时间
会造成数据丢失极大的风险

mysql,提供了一个数据回滚的功能
第一步,先查看AutoCommit的状态
show variable like 'autocommit';

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+
1 row in set (0.00 sec)

看到value为ON,也就是说sql语句的自动提交功能是开着的,
关闭自动提交功能,改成手动体提交,可有机会使数据回滚
set autocommit = 0;

mysql> show variables like  'autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | OFF   |
+---------------+-------+
1 row in set (0.00 sec)

更改后当你UPDATE ,DELECT,DROP操作后猛然发现错误时,可以
rollback;
使数据恢复到没有修改的状态


最后切记,操作完数据确保无误时
commit;
使数据修改生效,不然你直接exit后所有的更改会都没有保存