MySQL에서 Rollback이 적용되지 않는 케이스에 대해

MySQL에서 Rollback이 적용되지 않는 케이스에 대해

경위

근데 아래와 같은 에러 메세지가 표시 되면서 MySQL에서 롤백 처리가 안됨…;

1196 Some non-transactional changed tables couldn't be rolled back

원인

내가 보고 있는 테이블은 트랜잭션이 적용되지 않는 MyISAM 테이블이었기 때문에 롤백 처리를 지원하지 않았다.

해당 테이블의 DB엔진 확인

SHOW TABLE STATUS LIKE 'table_name';

해당 테이블의 DB엔진 확인(스키마 단위)

SELECT TABLE_NAME,
 ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'schema_name' and ENGINE = 'myISAM'

MyISAM Engin

0058-1.png

InnoDB Engin(트랜잭션 가능)

0058-2.png

정리

Pie's Tech Note

생계형 개발자의 메모장

comments powered by Disqus

    rss facebook twitter github youtube mail spotify instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora