13장문제 [트랜잭션 활용하기]
MySQL & PHP 학습/연습문제 2016. 2. 6. 20:52
다음과 같이 InnoDB가 설정된 테이블 tran이 있습니다. 트랜잭션을 시작해서 UPDATE tran SET a=777;을 실행하고, 커밋을 하지 않은 상태에서 MySQL 콘솔창을 종료합니다. 그리고 MySQL 콘솔창을 다시 실행해서 UPDATE를 실행한 데이터가 어떻게 되었는지 확인해 보세요.
▶︎ 테이블 tran
칼럼 이름 |
a |
칼럼의 자료형 |
INT |
칼럼의 내용 |
100 |
CREATE TABLE tran (a INT);
INSERT INTO tran VALUES(100);
hint!
테이블 tran의 저장 엔진이 InnoDB로 설정되어 있는지 확인하고 실행할 것.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
다음 명령을 실행합니다.
① 테이블 tran의 내용을 확인합니다(a는 100).
SELECT * FROM tran;
② 트랜잭션을 시작합니다.
③ UPDATE를 실행해서 실행 후의 데이터를 확인합니다(a는 777로 변경됨).
④ EXIT명령으로 MySQL 콘솔창을 종료합니다.
⑤ MySQL 콘솔창을 다시 실행해서 테이블 tran의 내용을 확인합니다(a는 원래의 값 100으로 되돌아오고, 777로 변경된 것은 파기됨).
커미슬 하지 않은 상태에서 종료하면 그 내용은 파기됩니다. 즉, 트랜잭션을 커밋하지 않은 상태에서 접속을 종료하면 자동으로 롤백이 실행됩니다.
'MySQL & PHP 학습 > 연습문제' 카테고리의 다른 글
15장문제 [MySQL을 이용하는 데 필요한 PHP] (0) | 2016.02.23 |
---|---|
14장문제 [파일 사용하기] (0) | 2016.02.14 |
12장문제 [저장 프로시저 활용하기] (0) | 2016.01.27 |
11장 문제 [뷰 활용하기] (0) | 2016.01.25 |
10장문제 [여러 개의 테이블 이용하기] (0) | 2016.01.22 |