질문 Q #10597
insert 질문이요`
앙마 2013-06-19 15:59:13
불가능할 것 같지만 왠지 있을 것 같아서  질문에 올립니다

메뉴얼을 봤는데;; 없는 건지 제가 못찾는 건지도 모르겠고요... 아무튼!!!

insert를 시켰을 경우 그 insert 것의 값을 바로 리턴 받는 것이 있나요?

quert("쿼리문")->result()   <--- 이런 식으로 리턴을 받는데

insert문에 넣었더니 바로 에러가 나더군요ㅠ_ㅠ
답변 3
#1 토리 2013-06-19 16:03:48
$this->db->insert_id()    ??
#2 인스카 2013-06-19 17:03:01
 insert_id()도 별도의 메소드이지, insert()의 리턴 값은 아닐테고요...
상식적으로 생각해보면 insert()의 return으로 true/false 정도는 줄 수 있을 것 같은데 말이죠 ㅎㅎ


그냥 헬퍼 함수만 주는게 아닐지..
http://cikorea.net/user_guide_2.1.0/database/helpers.html
#3 risa 2013-06-20 19:29:27
 mysql 을 찾아보시면...

인서트 직후에 아이디값을 받아오는 방법이 2가지 있습니다.

last_insert_id
mysql_insert_id

$this->db->insert_id();  <- mysql_insert_id <- 이 쿼리 하나 날리고 리턴합니다.

인서트 한 다음에
$new_id = $this->db->insert_id(); 

$new_id 로  다시 조회해서 가져 가시면 됩니다.

트리거로 해결될수 있는 문제라면 트리거로 해결 하는 것도 추천.