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後全部的更改會都沒有保存
相關文章
相關標籤/搜索