
mysqli::begin_transaction() 함수를 호출한 후 mysqli::commit() 함수를 호출하지 않고 mysqli::rollback() 함수를 호출하면, 데이터베이스의 변경이 취소됩니다.
이 코드를 실행했을 때, 데이터베이스의 상태는 다음과 같습니다.
- table_name 테이블의 id = 1 인 레코드의 column_name 값은 변경되지 않습니다.
- table_name 테이블의 id = 2 인 레코드의 column_name 값은 변경되지 않습니다.
즉, 데이터베이스의 변경이 모두 취소되어 원래 상태로 돌아갑니다.
이러한 동작은 mysql이 트랜잭션을 지원하는 특징으로, 데이터베이스의 일관성을 유지하기 위해 트랜잭션 내의 변경을 취소할 수 있도록 함으로써 데이터베이스의 안정성을 보장합니다.
2025-03-31 20:01