CS/데이터베이스

SQL (4) TRANSACTION

hyomee2 2024. 7. 17. 17:40

1. TRANSACTION

: 데이터베이스에서 한 번에 수행되는 작업의 단위

- 한 번에 수행되는 작업에서, 만약 한 쿼리에 문제가 생기면 그 작업 전체를 다시 처음으로 돌려야 한다.

  그런데 기본적으로 commit이 자동으로 수행되도록 설정되어 있으므로(autocommit 활성화가 default)

  비활성화 해준 뒤 테스트를 한다.

SET autocommit  = 1;   # autocommit 활성화
SET autocommit = ON;   # autocommit 활성화
SET autocommit  = 0;   # autocommit 비활성화
SET autocommit = OFF;   # autocommit 비활성화

START TRANSACTION;

SELECT * FROM tbl_menu;

INSERT INTO tbl_menu VALUES (NULL, '바나나해장국', 8500, 4, 'Y');
UPDATE tbl_menu SET menu_name = '수정된 이름' WHERE menu_code = 5;

ROLLBACK; # 트랜젝션을 rollback

COMMIT;  # transaction을 commit
# commit 이후에는 아무리 rollback을 해도 돌아갈 수 없다 (마지막 commit 시점으로 돌아간다.)

 

'CS > 데이터베이스' 카테고리의 다른 글

SQL(6) 제약 조건  (0) 2024.07.21
SQL(5) DDL (CREATE, ALTER, DROP, TRUNCATE)  (1) 2024.07.20
SQL (3) DML  (0) 2024.07.17
SQL 실습 (2)  (0) 2024.07.17
SQL 실습(1)  (1) 2024.07.17