[DB] MySQL 트랜잭션(Transaction) 예시 및 정리
2020. 6. 10. 12:24ㆍDataBase/MySQL
반응형
■ 트랜잭션
트랜잭션의 사용은 어떠한 작업에 있어서 구간을 선정하고 해당 작업에 오류나 실수를 COMMIT을 실행하기 전까지 본 DB에 영향을 주지 않는것을 의미한다.
I. 자동 커밋(commit) 비활성화
설명) commit 을 실행하기 전까지의 작업을 본 서버에 영향을 주지 않는다.
- set autocommit = 0
II. 트랜잭션 시작
설명) start transaction 또는 begin 둘다 사용가능하며, 수정 작업 이후 rollback 을 실행하면 트랜잭션을 시작했던 작업으로 돌아오고 수정내용은 적용되지 않는다.
- 1) START TRANSACTION
- 2) BEGIN
III. 수정 처리
1) 수정 전 데이터 확인
2) 수정 처리
설명) author 가 '유은정' 인 레코드의 title을 '산' 으로 변경
3) 수정 후 데이터 확인
IV. ROLLBACK 실행
설명) start transaction 혹은 begin 실행했던 작업 위치로 돌아간다.
1) 수정 처리한 레코드 확인
설명) author 가 '유은정' 인 레코드의 title이 '산' 에서 '바다' 로 변경되었다. 즉, 수정 전으로 작업위치가 돌아갔다는걸 확인할 수 있다.
III. 재수정 처리
1) 수정 처리
설명) author 가 '유은정' 인 레코드의 title을 '산' 으로 변경
3) 수정 후 데이터 확인
설명) author 가 '유은정' 인 레코드의 title을 '산' 으로 변경될걸 확인
IV. COMMIT 실행
설명) 수정 작업 저장
1) 수정 된 데이터 확인
설명) author 가 '유은정' 인 레코드의 title을 '바다' 가 아닌 '산' 으로 변경 저장된걸 확인
반응형
'DataBase > MySQL' 카테고리의 다른 글
[MySQL] CASE 문 (0) | 2020.07.20 |
---|---|
[MySQL] DATE_FORMAT 날짜데이터 형식 변환 (0) | 2020.07.20 |
[DB] MySQL 서버 원격 접속 (0) | 2020.06.01 |
[DB] MySQL SQL파일 실행 및 백업 (0) | 2020.05.27 |
[DB] MySQL 제약조건 확인 (0) | 2020.05.26 |