제목 | ci3 사용중 query select 후 자동 commit | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | phyun | 작성시각 | 2024/03/20 16:09:01 |
|
|||
제목 그대로입니다. 현재 코드이그나이터3 사용중입니다 $this->db->trans_begin(); for($i = 0; $i < 10; $i++) { $arr_dump[$i]['FIELD1'] = $i; $arr_dump[$i]['FIELD2'] = $i; } if($this->phs_model->test_insert_batch($arr_dump) === false) { $this->db->trans_rollback(); $result = array( "status" => "fail", "msg" => "업로드 실패!" ); echo json_encode($result); exit; } $cnt_duplicate_cnt = $this->phs_model->sel_test(); $this->db->trans_rollback(); exit;
오라클db 사용중인데 rollback이 되지않네요. auto_commit은 꺼뒀구요. sel_test() 없이 trans_rollback을 하니 정상적으로 작동합니다. sel_test() 함수 코드는 function sel_test(){ $query = "select * from PHS_TEST"; return $this->db->query($query)->result(); } 이렇게 되어있습니다.... 도저히 이해가 안가네요 |
|||
태그 | ci3,php,rollback | ||
다음글 | ci4 파일 업로그 후 링크방법 (2) | ||
이전글 | json 응답 출력하는 방법 (1) | ||
변종원(웅파)
/
2024/03/20 17:00:25 /
추천
0
|
phyun
/
2024/03/20 17:26:43 /
추천
0
단순히 롤백 동작 확인을 위해 저렇게 작성했습니다. $this->db->trans_stauts() 는 test_insert_batch() 에서 체크합니다. |
우선 저렇게 짠 이유가 궁금하네요?
정상적인 형태로 만들고 작동 안되면 이해가 되는데 단순히 롤백이 작동하나 안하나 테스트해보려고 하는건가요?
https://ciboard.co.kr/user_guide/kr/database/transactions.html#running-transactions-manually