LAST_INSERT_ID() 함수 사용법에 관해서..
본문
https://www.w3schools.com/sql/func_mysql_last_insert_id.asp
sql 공부 중인데, w3school 에제가 부실해서 그런지 이해가 잘...
에제가 달랑 이거네요. ㅡㅡ;
SELECT LAST_INSERT_ID();
찍어보니 결과값이 0 나오는 것 같은데,,
그누에서 써먹을 경우 보통 어떤 용도로 써먹을 수 있을까요?
테이블에 삽입되거나 업데이트 된 마지막 행의 AUTO_INCREMENT id를 반환할 때 쓰는 거라는데..
직관적인 예 하나만 들어주시면 감사해요.
구글링 해봤는데, 모두 도움이 안 되네요. ㅜㅜ
답변 5
그누보드
/bbs/write_update.php 중
280 라인 부근에 있는데
$wr_id = sql_insert_id();
구문을 보세요.
이미 쓰고 있습니다.
!-->근대 저걸 왜쓰는 거여요 ?
구지 쓰다고 하면 상품을 대량을 로 올릴경우나 쓸거같은데..
그누보드에서는 글을 입력하면 글을 쓴 테이블에 wr_parent 의 값을 지금 현재 글쓰기한 값으로 업데이트 하고 있습니다.
처음에 글쓰기 할떄는 wr_parent의 값은 아무것도 입력이 되지 않습니다.
update 구문을 통해서 wr_parent의 값을 update하게 됩니다.
예를 들어 지금 글쓰기를 해서 wr_id값이 1이라고 하면 wr_id 값을 이용해서 글쓰기를 함과 동시에 wr_id의 값을 다른 테이블에 입력해야 하는 경우에 많이 사용됩니다.
즉 테이블을 연결 시키는 경우에 많이 사용됩니다.
그누보드를 예로 들면 g5_write_free에 글을 등록하면서 파일을 3개 같이 등록했다고 가정을 합니다.
view 페이지에서 첨부 파일을 갖고 오려면 글이나 첨부 파일에나 공통적으로 wr_id를 등록해 놓으면 갖고 오기 쉽겠지요.
예를 들어 wr_id가 10번인 글이 지금 막 등록이 되면서 이 10번에 대한 첨부 파일들에게 전부 같은 wr_id를 부여해야 view.php?wr_id=10 페이지에서 첨부 파일도 3개를 뿌릴 수가 있습니다.
그러면 글이 등록되면서 생성된 wr_id의 값을 첨부 파일들에게도 등록을 해야 하겠지요.
이럴 때 쓰는 게 last_insert_id 함수(mysql)입니다.