[php] PHP CodeIgniter 데이터베이스 트랜잭션

이번에는 PHP CodeIgniter 프레임워크에서 데이터베이스 트랜잭션을 다루는 방법에 대해 알아보겠습니다.

데이터베이스 트랜잭션

트랜잭션은 데이터베이스 작업을 수행할 때, 모든 작업이 성공적으로 수행될 때까지 모든 변경사항을 적용하고, 작업 중 하나라도 실패하면 모든 변경사항을 롤백하는 개념입니다. 이를 통해 데이터베이스 일관성을 유지하고 데이터 손실을 방지할 수 있습니다.

CodeIgniter에서 데이터베이스 트랜잭션 다루기

CodeIgniter에서 데이터베이스 트랜잭션을 다루기 위해서는 다음과 같은 단계를 따릅니다.

  1. 트랜잭션 시작하기: 데이터베이스 트랜잭션을 시작합니다.
  2. 쿼리 실행: 트랜잭션 내에서 원하는 데이터베이스 쿼리를 실행합니다.
  3. 트랜잭션 커밋 또는 롤백: 모든 쿼리가 성공적으로 실행되었을 경우 트랜잭션을 커밋하고, 하나라도 실패했을 경우 롤백합니다.

아래는 예시 코드입니다.

$this->db->trans_start(); // 트랜잭션 시작

// 여러 개의 데이터베이스 쿼리 실행
$this->db->query('YOUR QUERY 1');
$this->db->query('YOUR QUERY 2');
// ...

$this->db->trans_complete(); // 트랜잭션 완료
if ($this->db->trans_status() === FALSE) {
    $this->db->trans_rollback(); // 롤백
} else {
    $this->db->trans_commit(); // 커밋
}

결론

CodeIgniter의 데이터베이스 라이브러리를 사용하여 간단하게 데이터베이스 트랜잭션을 다룰 수 있습니다. 데이터베이스 작업 중소에 일관성을 유지하고 데이터 손실을 방지하기 위해 트랜잭션을 적절히 활용하는 것이 중요합니다.

참고문헌: