괴발개발
[강의 정리]TRANSACTION 본문
[transaction의 특징]
1. 쪼갤 수 없는 업무 처리의 단위 (쇼핑몰 주문 같이 , 한 뭉탱이로 이뤄져야 되는거)
2. ALL OR Nothing
-- 1) COMMIT : (데이터를 변경한)실행한 쿼리를 확정 한다.
select @@AUTOCOMMIT; -- auto commit 여부(1:true, 0:false)
set autocommit = 0; -- auto commit 기능 OFF
-- auto commit 을 OFF 해고 CREATE, ALTER, DROP, TRUNCATE 는 취소가 안된다.
-- 2) ROLLBACK : (데이터를 변경한)실행한 쿼리를 취소한다.
commit; -- 실행한 쿼리를 확정
select * from employees;
-- emp_no 117 ~ 130 까지 삭제
delete from employees where emp_no between 117 and 130;
rollback; -- 지난 쿼리 되돌리기
-- 신규 작업(insert, update, delete)이 확정되면 반드시 commit 을 해 줄 것!!!
-- 이후에 직접 서비스(웹)에서 확인 할 것
1. 일단 커밋(commit)을 끄고 수정해야 한다. (자동 저장 안되게) -> 그래야 롤백(rollback)이 가능
2. 그리고 작업 다 한 후에 커밋(commit)해줘야한다. -> 안그러면 나는 된 것 처럼 보여도 , 네트워크 상에서는 안나온다....ㄷㄷ;

* 롤백과 커밋은 언제 사용하냐면,
두 가지 로직이 한 번에 진행될 때(한번에 묶어야 할 때)
게시판 클릭-> 상세페이지,- ,하면 조회수가 올라가야 하는데
에러가 나서 그냥 조회수만 올라가면 안되지,
그러면 롤백 해줘야 함.
'BACK END > SPRING' 카테고리의 다른 글
exists 정리! (0) | 2023.03.23 |
---|---|
질문 (0) | 2023.03.21 |
Shallow Copy (0) | 2023.03.19 |
중요하게 강조하신거 - bean이랑 write (파생된거 까지) (0) | 2023.03.14 |
[퀴즈 정리]D-44 - nio, thread(work, 익명, 상속, 구현) (0) | 2023.03.14 |
Comments