[프로젝트 준비] DB 롤백 방법

hyuckhoon.ko·2020년 6월 21일
0

What I learned in wecode

목록 보기
71/109

1. DB가 auto commit되는지 여부 확인 명령어

SELECT @@autocommit;

또는

SELECT @@AUTOCOMMIT;

결과값이 1이면 True로 자동 커밋되고 있는것이다.

커밋이란, 작업 결과물을 물리적인 디스크 공간에 저장하는 되었음을 관리자에게 알리는 것이다.



재밌는 점은 롤백을 하기위해서는 autocommit을 False로 해야한다는 것이다.

이는 세이브포인트의 생성과 관련이 있다.

SET AUTOCOMMIT =0;



테이블 내 데이타를 확인해보자.

select * from drinks;



2. 롤백 사용하기

insert into drinks values (132, 'caffe-bene');

카페베네 음료를 132번에 넣어보자.(아주 발칙하다. 스타벅스 메뉴 밭에 카페베네 음료를 넣다니)



이 상태에서 세이브포인트 A를 지정했다.

savepoint A;


데이터를 하나 더 insert한 후, 세이브포인트 B를 지정했다.

savepoint B;

여기서 데이터를 하나 더 추가한 후 롤백을 진행해보려고 한다.
왜냐하면 실제 데이터 입력후 아차 싶은 경우가 많기 때문이다.



이제 행복한 백업이 있다ㅜㅜ. 복구를 해보도록 하자.

1) 세이브포인트 B로 가자.

rollback to savepoint B;

결과



2) 세이브포인트 A로 가즈아~!

rollback to savepoint A;



3) 한 번 더 가즈아~~!

rollback;


정말정말 레전드가 아닐 수가 없다.ㅜㅜ

내게 너무나 필요했던 기능이었다.
감사하다 정말.

1개의 댓글

comment-user-thumbnail
2020년 6월 21일

뭔진 모르겠으나 축하드립니다 ㅋㅋㅋㅋ

답글 달기