테스트 사이트 - 개발 중인 베타 버전입니다

my sql 인서트 질문입니다! 채택완료

바트컨트롤 6년 전 조회 4,442

wr_3에다가 숫자를 1씩증가하며 입력하고싶은데..

 

update g5_write_pictorial set wr_3 = '';

로 초기화 하고

 

update g5_write_pictorial set wr_3 = wr_3 + 1 WHERE ca_name ='청년기' ORDER BY wr_id ASC;

 

이렇게 하면 1만 뜨드라구요 ㅠㅠㅠ

 

방법이 있을까요 ㅠ?

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

답변 6개

채택된 답변
+20 포인트
플래토
6년 전

매번 초기화 되면

항상 1이겠죠

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

바트컨트롤
6년 전
네 ㅠㅠ 그래서 초기화 구문 빼고 입력했는데......
그래도 1만 되드라구요 ㅠ

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

플래토
6년 전

 

update g5_write_pictorial set wr_3 = wr_3 + 1 WHERE ca_name ='청년기' ORDER BY wr_id ASC;

 

업데이트 구문에

order by .. 이하는 오류입니다.

 

order by wr_id asc 를 제거 하시고

해보세요

로그인 후 평가할 수 있습니다

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

INSERT ON DUPLICATE 쓰고요.

 

wr_3 = (wr_3 + 1)로 해보세요.

로그인 후 평가할 수 있습니다

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

6년 전

(로직)

현재까지의 '청년기' 분류 데이터에서 가장 최근의 wr_3 값 추출 or Max(wr_3) 값 추출

=> 추출된 값 + 1 을 새로 입력하는 글의 wr_3 에 저장

 

/skin/board/[스킨]/write_update.skin.php

 

$sql = "

   select max(wr_3) as max_wr_3

    from g5_write_pictorial

  where ca_name = '청년기'

";

$row = sql_fetch($sql);

$max_wr_3 = $row['max_wr_3'];

$new_wr_3 = $max_wr_3 + 1;

 

$sql = "

  update g5_write_pictorial

       set wr_3 = {$new_wr_3}

   where wr_id = {$wr_id}

";

$result = sql_query($sql);

로그인 후 평가할 수 있습니다

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

그누위즈

지금 순서가

wr_3을 0으로 초기화한다.

그리고 1을 업데이트한다.

그러니 수천번을 실행해도 wr_3은 1이다.

로그인 후 평가할 수 있습니다

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

6년 전

초기화하지마시고 밑에것만 쓰시면 계속 1씩 올라갑니다.

 

로그인 후 평가할 수 있습니다

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

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

로그인