일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- git
- post
- mongodb
- Java
- 인생이재밌다
- spring
- 예매로직
- node.js
- Bootstrap
- ajax
- ES6
- Kubernetes
- Get
- MySQL Error
- AWS RDS
- ssh
- json
- AWS Route53
- sessionStorage
- AWS
- spread operator
- 영화예매
- zombie-hit apartment
- chartjs
- terminationGracePeriodSeconds
- mysql
- javascript
- jsp
- topologySpreadConstraints
- html
- Today
- Total
jongviet
May 13, 2021 - how to rollback in MySQL / MySQL 롤백하는 방법 본문
*5월13일
-MySQL을 사용하다보면 실수로 특정 테이블의 특정 칼럼을 모두 동일한 값으로 바꾸는 경우가 많다. 오늘도 예제를 연습하다가 하기 이미지와 비슷한 실수를 저질렀다.
-어린 시절 삼국지영걸전과 같은 게임을하며, 매우 아슬아슬 한 시기에 '여기서 저장하기'와 같은 기능을 사용한 적이 많다. 이게 마치 savepoint를 설정하는 느낌인 것 같긴한데, 정확하게 그 기능인지는 모르겠다.
-실제 실무상 rollback을 자주 사용하는지는 잘 모르겠다.... 좀 더 경험이 쌓이고 이 포스팅을 다시 보면 어떤 느낌일지 궁금하다.
*MySQL rollback process
-그래서 찾아본 rollback 방법!
-먼저 rollback을 위해서는 mysql의 autocommit를 비활성화 해야한다. (0 = false, 1 = true)
select @@autocommit; //조회
set autocommit=0; //변경
-그 후 보존하고 싶은 특정 테이블 저장 형태를 savepoint 설정한다! deptno가 20인 모든 데이터의 ename을 kim으로 업데이트하고, 그 데이터들의 sal를 3천씩 올린 후 savepoint A라고 설정하겠다.
update sam03 set ename = 'kim' where deptno=20;
update sam03 set sal = sal + 3000 where ename='kim';
savepoint A;
-추가적인 수정을 한 후, rollback을 통해 savepoint A로 돌아가보도록 하겠다.
update sam03 set sal = sal + 10000 where ename='kim';
select * from sam03;
rollback to savepoint A;
select * from sam03;
'MySQL, Oracle' 카테고리의 다른 글
May 19, 2021 - MySQL 총정리 - 2 (0) | 2021.05.19 |
---|---|
May 18, 2021 - MySQL 총정리 - 1 (0) | 2021.05.19 |
May 17, 2021 - MySQL 각종 에러 대처 2 (0) | 2021.05.17 |
May 12, 2021 - MySQL 각종 에러 대처 (0) | 2021.05.12 |
May 11, 2021 - MySQL DB 내 특정 값의 개수 조회 / 전체 개수 조회 (1) | 2021.05.11 |