묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
MySQL명령으로 DB에 데이타를 입력하는데.. 애로사항이..
2004.04.05 23:26
무식함이 죄라면 죄인지라 변명은 못하겠습니다.-_-;;
혼자서 아무리해도 해답을 찾지 못해 결국 여기에 질문올려봅니다.
test 라는 DB에 temp2 라는 테이블이 있습니다. (연습용으로 만든 DB)
여기에는 이름과 나이를 저장하는 데요.. 각각 name과 age라는 필드로 지정되어있구요..
num 이라는 필드는 자동으로 수치가 올라가도록 설정했습니다.
(num int not null default '0' auto_increment)
mysql명령문에 관련하여 db연습하던중에 해결되지 않는 문제가 있어서 도움을 구하고자합니다.
insert 명령으로 몇개 데이타를 추가해 넣었는데요..
delete 명령으로 일부 삭제를 했었습니다.
그리고 다시 insert명령으로 데이타를 추가했더니
아래 그림에서 보는 바와같이 num 값이 지워졌던 데이터의 최고값 다음값으로 들어갑니다.
(물론 update문으로 수정하면 되지만..)
이미 없어진 데이타에 다시 쓴 데이타의 num값을 자동으로 맞춰넣고 싶습니다.
가령 num값을.. 1-2-3-4 다음에는 5가 되고 만약 5와 4를 지웠으면 다시 1-2-3-4가 되도록 말입니다.
아 질문이 괜히 복잡하네요.. 무슨 말인지는 아마 아시겠죠? -_-;;
어떻게 하면 될까요? 초보에게 가르침을 주십시요.. (ㅡ_ㅜ) 추륵..
혼자서 아무리해도 해답을 찾지 못해 결국 여기에 질문올려봅니다.
test 라는 DB에 temp2 라는 테이블이 있습니다. (연습용으로 만든 DB)
여기에는 이름과 나이를 저장하는 데요.. 각각 name과 age라는 필드로 지정되어있구요..
num 이라는 필드는 자동으로 수치가 올라가도록 설정했습니다.
(num int not null default '0' auto_increment)
mysql명령문에 관련하여 db연습하던중에 해결되지 않는 문제가 있어서 도움을 구하고자합니다.
insert 명령으로 몇개 데이타를 추가해 넣었는데요..
delete 명령으로 일부 삭제를 했었습니다.
그리고 다시 insert명령으로 데이타를 추가했더니
아래 그림에서 보는 바와같이 num 값이 지워졌던 데이터의 최고값 다음값으로 들어갑니다.
(물론 update문으로 수정하면 되지만..)
이미 없어진 데이타에 다시 쓴 데이타의 num값을 자동으로 맞춰넣고 싶습니다.
가령 num값을.. 1-2-3-4 다음에는 5가 되고 만약 5와 4를 지웠으면 다시 1-2-3-4가 되도록 말입니다.
아 질문이 괜히 복잡하네요.. 무슨 말인지는 아마 아시겠죠? -_-;;
어떻게 하면 될까요? 초보에게 가르침을 주십시요.. (ㅡ_ㅜ) 추륵..
댓글 2
-
최영곤
2004.04.07 11:41
-
써니루루☆
2004.04.09 22:08
SQL의 테이블에는 auto_increment의 숫자를 기억하는 flag가 있습니다.
자동으로 들어가면서 그중에 max보다 1이 큰수를 입력해주는 알고리즘이 아니고 테이블에 기억되어 있는 flag에서 1이 추가되는 방식이죠.
위에 분이 답변해주신대로 그냥은 할 수 없고
한번더 쿼리를 해서 max인 값을 구한 다음에 그 값으로 update를 해주거나 insert 해주는 방식으로 넣어야 숫자대로 넣을 수 있죠.
대부분의 게시판들에서 게시글 앞에 붙은 수는 num에 들은 수치를 직접 출력하지 않고 가상의 수치로(임의로 만든 숫자변수:일반적으로 전체게시글수에서 감소형으로) 출력을 하죠.
자동으로 넣는것은 불가능 하구요...
이렇게 삭제하는 명령이 일어나는 다음에 update문이 일일이 들어가야 하구요 ^^;;;
게시물이 만건이 있는데 그중 1번을 지우게 되면 나머지 9999개의 데이터를 일일이 수정을 해야 하는데...
삭제될때마다 그런 동작이 계속 이루어 진다면 -ㅁ-;;; 부하가 상당하겠네요...
그냥 페이지에 쭉~ 뿌려주신다음 loop문으로 순번을 다시면 되겠네요. 정렬조건을 num asc로 하셔서...
답변이 너무 성의없나요 ^^;;;