게시물 번호 재조정하는 법 좀 알려 주세요. 정보
게시물 번호 재조정하는 법 좀 알려 주세요.
본문
현재 총 게시물수가 100여개인 게시판이 있습니다. (코멘트까지 합셔서 예를 들어, 맨마지막 게시물 번호가 wr_id=105 쯤 되는 게시판입니다)
근데, 최근에 로봇들이 코멘트를 무지막지하게 달아 놓으면서 (600개 이상을 한 게시물에 달아 놓었더라구요) 게시물번호가 즉, wr_id= 숫자가 무쟈게 증가해 버렸습니다.
로봇들이 달아 놓은 코멘트는 MySQL admin 에서
DELETE FROM `g4_write_게시판명` WHERE `wr_id` > '105' 이런식으로 싹 지워버릴 수 있었습니다. 근데, 문제는 새로운 글을 쓰면 wr_id=106 이 되는게 아니라 wr_id=753 이런식으로 너무 껑충 떠 버린다는 겁니다.
게시판 이용에는 별 문제가 없지만, 번호의 연속성이 너무 심하게 왜곡되는지라 보기가 좀 안좋네요.
지워버린 게시물과는 상관없이 새로운 게시물은 그 다음 번호부터 시작할 수 있는 방법은 없을까요?
근데, 최근에 로봇들이 코멘트를 무지막지하게 달아 놓으면서 (600개 이상을 한 게시물에 달아 놓었더라구요) 게시물번호가 즉, wr_id= 숫자가 무쟈게 증가해 버렸습니다.
로봇들이 달아 놓은 코멘트는 MySQL admin 에서
DELETE FROM `g4_write_게시판명` WHERE `wr_id` > '105' 이런식으로 싹 지워버릴 수 있었습니다. 근데, 문제는 새로운 글을 쓰면 wr_id=106 이 되는게 아니라 wr_id=753 이런식으로 너무 껑충 떠 버린다는 겁니다.
게시판 이용에는 별 문제가 없지만, 번호의 연속성이 너무 심하게 왜곡되는지라 보기가 좀 안좋네요.
지워버린 게시물과는 상관없이 새로운 게시물은 그 다음 번호부터 시작할 수 있는 방법은 없을까요?
댓글 전체

이젠 주소까지 불법 이동을 하나 봅니다...
$reply_char = chr(ord($row[reply]) + $reply_number);
$tmp_comment_reply = $reply_array[wr_comment_reply] . $reply_char
등 비비에스 폴더의 글쓰기 업데이트와 코멘트 업데이트의 관련 구문을 살피시고 위 소스 아래 부분에
글번호 부여 부분을 분석하시면 답이 나옵니다.
$reply_char = chr(ord($row[reply]) + $reply_number);
$tmp_comment_reply = $reply_array[wr_comment_reply] . $reply_char
등 비비에스 폴더의 글쓰기 업데이트와 코멘트 업데이트의 관련 구문을 살피시고 위 소스 아래 부분에
글번호 부여 부분을 분석하시면 답이 나옵니다.

답변 감사드립니다.
근데, 잘 이해가 안됩니다.
제 짧은 소견으로는 그누보드측면 보다는 db 특성 때문인 것같습니다. 즉, db 테이블을 보면 wr_id 필드는 "auto_increment"인가 뭔가로 특성지어져서, 자동으로 숫자가 증가하는 걸로 알고 있는데 삭제된 게시물의 번호도 어딘가 기록으로 남아 있기 때문이 아닌가 사료됩니다.
그래서, db가 인식하고 있는 그 숫자를 (기존 게시물에는 영향을 주지 않으면서) 일종의 "초기화"시키는 방법이 없을까 하는 게 제 궁금증입니다.
다시 한번 답변 감사드립니다.
근데, 잘 이해가 안됩니다.
제 짧은 소견으로는 그누보드측면 보다는 db 특성 때문인 것같습니다. 즉, db 테이블을 보면 wr_id 필드는 "auto_increment"인가 뭔가로 특성지어져서, 자동으로 숫자가 증가하는 걸로 알고 있는데 삭제된 게시물의 번호도 어딘가 기록으로 남아 있기 때문이 아닌가 사료됩니다.
그래서, db가 인식하고 있는 그 숫자를 (기존 게시물에는 영향을 주지 않으면서) 일종의 "초기화"시키는 방법이 없을까 하는 게 제 궁금증입니다.
다시 한번 답변 감사드립니다.
데이터베이스: information_schema → TABLES 에 보시면, 모든 테이블들이 나열되어 있고,
그중에 AUTO_INCREMENT 필드에 말씀하신 내용이 저장되어 있습니다.
문제는,
http://dev.mysql.com/tech-resources/faq.html#is6 와
In effect, we have a database named INFORMATION_SCHEMA, although the server does not create a database directory with that name. It is possible to select INFORMATION_SCHEMA as the default database with a USE statement, but it is possible only to read the contents of tables. You cannot insert into them, update them, or delete from them.
내용을 보시면 아시겠지만, '보는것만' 가능합니다. ㅡ.ㅠ;
한가지 우회적인 방법을 알려드리자면,
(몇일전 테이블 하나 만들어서 이것저것 테스트 해보다가 저도 같은 의문이 생겨서 해봤던 것입니다.)
1. 해당 테이블을 파일로 백업합니다. (xxx.sql)
2. 테이블을 삭제합니다.
3. 백업한 xxx.sql 파일을 열어보시면, 다음과 같은 내용이 있으며,
CREATE TABLE `테이블명` (
필드 정보들....
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=785 ;
이중 가장 끝부분에 다음 레코드의 id를 위한 값이 입력되어 있습니다. (AUTO_INCREMENT=785)
이 내용을 원하시는 값으로 수정하시고(AUTO_INCREMENT=105) 파일을 저장한 후,
4. 테이블을 원래의 자리에 복구시킵니다.
혹시 모르니 테스트용 테이블을 사용해 해보신 후 적용해보시기 바랍니다.
그중에 AUTO_INCREMENT 필드에 말씀하신 내용이 저장되어 있습니다.
문제는,
http://dev.mysql.com/tech-resources/faq.html#is6 와
In effect, we have a database named INFORMATION_SCHEMA, although the server does not create a database directory with that name. It is possible to select INFORMATION_SCHEMA as the default database with a USE statement, but it is possible only to read the contents of tables. You cannot insert into them, update them, or delete from them.
내용을 보시면 아시겠지만, '보는것만' 가능합니다. ㅡ.ㅠ;
한가지 우회적인 방법을 알려드리자면,
(몇일전 테이블 하나 만들어서 이것저것 테스트 해보다가 저도 같은 의문이 생겨서 해봤던 것입니다.)
1. 해당 테이블을 파일로 백업합니다. (xxx.sql)
2. 테이블을 삭제합니다.
3. 백업한 xxx.sql 파일을 열어보시면, 다음과 같은 내용이 있으며,
CREATE TABLE `테이블명` (
필드 정보들....
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=785 ;
이중 가장 끝부분에 다음 레코드의 id를 위한 값이 입력되어 있습니다. (AUTO_INCREMENT=785)
이 내용을 원하시는 값으로 수정하시고(AUTO_INCREMENT=105) 파일을 저장한 후,
4. 테이블을 원래의 자리에 복구시킵니다.
혹시 모르니 테스트용 테이블을 사용해 해보신 후 적용해보시기 바랍니다.

감사합니다.
해봐야 알겠지만, 내용을 보니 바로 제가 찾던 답변같습니다.
해봐야 알겠지만, 내용을 보니 바로 제가 찾던 답변같습니다.
나두 테스트해봐야징..