sql更新数据的后悔药

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后全部的更改会都没有保存
相关文章
相关标签/搜索