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

필드 값 업데이트... 채택완료

OCPlicense 2년 전 조회 2,240

mysql 필드 값 업데이트

 

게시물 wr_id=2 의 여분필드 값 wr_10 을

 

게시물 wr_id=1 의 wr_10 여분필드로 옮겨서 업데이트 하고 싶은데...

 

필드 값이 하나씩 뒤로 밀렸네요. 이런 경우는 처음이라 어떻게 해야 할까요?

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

답변 3개

채택된 답변
+20 포인트

inner join 사용하시면 됩니다.

update g5_write_a a inner join g5_write_b b on a.wr_id+1=b.wr_id

set a.wr_10=b.wr_10

실행전 백업은 필수!

 

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

답변에 대한 댓글 3개

O
OCPlicense
2년 전
엑스엠엘님, 답변 감사합니다.
테이블이 1개일 경우에는 어떻게 해야 할까요?;
1건만 테스트 해보려고 아래처럼 해봤는데 업데이트가 안됩니다. 혹시 어디가 틀렸는지 알 수 있을까요?

$sql = " update `$write_table` wr_id+1=wr_id set wr_10 = '$wr_10' where wr_id = '$wr_id' ";
sql_query($sql);
엑스엠엘
2년 전
오타가 있었네요.
g5_write_a a inner join
g5_write_a b on a.wr_id+1=b.wr_id
이렇게 하시면 됩니다.
엑스엠엘
2년 전
update g5_write_A a inner join g5_write_A b on a.wr_id+1=b.wr_id

set a.wr_10=b.wr_10

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

2년 전

필드 값이 하나씩 뒤로 밀렸네요 <-- 이게 무슨 말인가요? 혹시 record를 말하는??

질문이 부정확, 불명확하네요

게시물 하나만 한번 적용하면 되는 일인가요? 설마 이것은 아닌 것 같긴한데....

전체 게시물을 대상으로 게시물의 wr_10을 다음 게시물의 wr_10으로 변경하는 일인가요?

그렇다면 전체 게시물 갯수는 어느 정도인가요?

게시물 중 등록 후 삭제 된 게시물은 없는가요?

 

 

 

 

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

답변에 대한 댓글 1개

O
OCPlicense
2년 전
균이님, 답변 감사합니다. 제가 잘 설명을 못해서...게시물은 100건 정도인데 for문으로 돌리고 있고요.
wr_id=1 여분필드 wr_10=1212
wr_id=2 여분필드 wr_10=77777

현재 위처럼 값이 들어가 있는데
제가 원하는 결과는 아래처럼 1212 값이 wr_id=2 에 들어가 있어야 하거든요. 하나씩 뒤로 밀려야 하는데...

wr_id=2 여분필드 wr_10=1212
wr_id=3 여분필드 wr_10=77777

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

2년 전

디비 문법으로 업데이트 하는 것 보다

php구간을 이용해서 풀어서 동작시키는 게 

가끔은 효율적일 수도 있습니다.

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

답변에 대한 댓글 1개

O
OCPlicense
2년 전
개노미님 답변 고마워요~ 한번 찾아봐야 겠네요.

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

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

로그인