채택완료

쿼리로 게시물 이동을 할때...

2016-11-22 (화) 15:07:17 1,826

(원본)info1 게시판 게시물 중 하나를 (타켓)info2 게시판에 아래와 같은 쿼리를 통해 복사되는것은 확인하였습니다. 

insert into g5_write_info2 (wr_id, wr_parent, wr_num, wr_subject, wr_content, wr_option, mb_id, wr_name, wr_datetime, wr_hit )

(select wr_id, wr_parent, wr_num, wr_subject, wr_content, wr_option, mb_id, wr_name, now(), wr_hit from g5_write_info1 where wr_id =3) ;

게시판을 위 쿼리와 실행으로 일단 복사를 한뒤,,,,

e9bc2300eb2b46e011c04d09cab9271d_1479792976_1474.png 

복산한 게시판(info2) 내 마지막글 wr_id, wr_parent, wr_num 정보를 얻어서,  

복사 글을 최신 정보 +1 하여 업데이트 했습니다.  

 

아래와 같이 수동으로 wr_id, wr_parent, wr_num 입력하였습니다. 

e9bc2300eb2b46e011c04d09cab9271d_1479792975_9481.png
 

list화면을 조회하면...아래와 같이 3건의 게시글이 0,1,2 형태로 나옵니다. 

e9bc2300eb2b46e011c04d09cab9271d_1479793124_1384.png 

마지막으로

게시판 수정 > 카운트 조정을 하면 정상적으로 게시글이 3,2,1 이런식으로 변경됩니다.  

e9bc2300eb2b46e011c04d09cab9271d_1479793200_3582.png

e9bc2300eb2b46e011c04d09cab9271d_1479793285_4878.png
 

아래 두 가지 정보를 좀 쉽게 추출할 수 있는 방법이 있을까요?

쿼리로만 추출할 수 있으면 좋을듯한데...무리일까요

1. 해당 게시판)  최신 정보의  wr_num, wr_id(=wr_parent) 정보를 추출하는 방법

    이 부분이 sql_insert_id () 라는 함수인가요?

2. 변경 후, 카운트 조정으로 업데이트 하는 방법

sql_insert_id() 라는 부분은 어디에서 찾을 수 있는건가요?

휴란드님께서 아래와 같이 알려주셨는데요

좀 더 자세한 정보를 얻었으면 해서요

그누보드에서 게시물 복제나 이동시 wr_num,wr_parent 필드등도 구조에 맞게 수정해야 합니다.

쉘에서 쿼리문으로만 하시기엔 오작동할 가능성이 있을듯 합니다.

/bbs/move.php

/bbs/move_update.php

파일을 참조해보세요.

wr_num을 그누에 맞게 생성 후 insert 합니다. insert 한 후 

생성한 $insert_id = sql_insert_id();를 통해 wr_id, wr_parent_id를 update하구요.

그런 후 게시판 전체의 카운트를 조절합니다. (update)

쉘에서 직접하시려면 3가지를 고려해서 짜셔야 할듯합니다.

|

답변 1개

채택된 답변
+20 포인트

sql_insert_id함수는 lib/common.lib.php에 보시면 있습니다. 

답변을 작성하려면 로그인이 필요합니다.