요즘의 MySQL(3.23.15이상)에서는 트랜잭션을 지원합니다.
MySQL에는 테이블 타입이 여러 개가 있느데,
BDB, Innobase, 그리고 또 하나 최근 추가된 타입에서는
트랜잭션을 지원합니다.
그리고, 트랜잭션이 안 될때 UPDATE했던 것을 복원하는건 어느 정도 프로그래밍 테크닉으로 극복할 수 있겠구요.....
하지만, 트랜잭션 지원 안 될때는 그렇게 하면 안 좋구, 그냥 LOCK을 건 후
조건들이 맞는지 테스트를 한 후 UPDATE나 INSERT를 하는 것이 더 좋죠
>>원준희 님께서 쓰시길<<
:: 데이타베이스에 대한 제 지식이 짧아서 글을 올립니다.
:: 제가 알기로는 MySQL은 트랜젝션이 안되는데 이 문제를
:: MySQL에서는 어떻게 처리를 해야 할지 고수님들의 답변바랍니다.
:: 구체적으로 UPDATE문과 INSERT문을 연속으로 사용시에 INSERT문에서
:: error가 발생하면 전에 UPDATE문에서 작업을 했던 것을 되돌릴 수가
:: 있는 지 알고싶습니다.
|