쿼리문에서 wr_id의 값을 바꾸고 싶습니다..

쿼리문에서 wr_id의 값을 바꾸고 싶습니다..

QA

쿼리문에서 wr_id의 값을 바꾸고 싶습니다..

본문

ced57c9c3bb007b6b2d53e4bdbcbe8ae_1473227135_9523.png
 

소스먼저 첨부하겠습니다!


$write_table = $g5['write_prefix'].test; 
 
$data = array();
$sql = "select wr_id, wr_num from {$write_table} where wr_is_comment=0 and wr_reply='' order by wr_datetime";
$qry = sql_query($sql);
while ($row = sql_fetch_array($qry)) $data[] = $row;
sql_query("update {$write_table} set wr_num = wr_num * -1");
$wr_num = 0;
$wr_id = 0;
foreach ($data as $row){
	$wr_num--;
	$wr_id++;
	$row['wr_num'] *= -1;
	$sql = "update {$write_table} set wr_num = '{$wr_num}', wr_id = '{$wr_id}' where wr_num = '{$row['wr_num']}'";
sql_query($sql); 
}

 

게시물을 다른게시판에 복사 또는 이동했을 경우 날짜가 섞여서 변경되는데

게시물의 번호들을 수정 해서 다시 정렬 할려고 만지고있는데요

 

여기에 wr_num과 같이 wr_id도 바꾸어 버리려는데 

wr_id가 계속 바뀌지않는데 어떻게 해야할까요

wr_id가 프라이머리키라서 안바뀌는건가요? 방법이있을까요

 

위에 첨부이미지는 쿼리문에 wr_id를 빼고 wr_num만 넣고 돌렸을때에는

$sql = "update {$write_table} set wr_num = '{$wr_num}' where wr_num = '{$row['wr_num']}'"; 

정상적으로 wr_num이 바뀌는데

여기에 wr_id도 바꾸기위해서 이렇게 wr_id조건을 추가를하니

$sql = "update {$write_table} set wr_num = '{$wr_num}', wr_id = '{$wr_id}' where wr_num = '{$row['wr_num']}'"; 

업데이트가 안되네요

 

wr_num은 -1,-2,-3 이렇게 늘어나고

wr_id는 1,2,3 이렇게 늘어납니다.

이 질문에 댓글 쓰기 :

답변 1

wr_id는 변경 하지 않는게 좋습니다. 아주아주 복잡해집니다.

그냥 게시판 관리자모드에서

리스트 정렬 필드를 날짜 최근것 부터로 설정해주는게 좋을 듯 합니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 16,797
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT