mysql 필드 값 업데이트
게시물 wr_id=2 의 여분필드 값 wr_10 을
게시물 wr_id=1 의 wr_10 여분필드로 옮겨서 업데이트 하고 싶은데...
필드 값이 하나씩 뒤로 밀렸네요. 이런 경우는 처음이라 어떻게 해야 할까요?
답변 3개 / 댓글 5개
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개
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
필드 값이 하나씩 뒤로 밀렸네요 <-- 이게 무슨 말인가요? 혹시 record를 말하는??
질문이 부정확, 불명확하네요
게시물 하나만 한번 적용하면 되는 일인가요? 설마 이것은 아닌 것 같긴한데....
전체 게시물을 대상으로 게시물의 wr_10을 다음 게시물의 wr_10으로 변경하는 일인가요?
그렇다면 전체 게시물 갯수는 어느 정도인가요?
게시물 중 등록 후 삭제 된 게시물은 없는가요?
답변에 대한 댓글 1개
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
디비 문법으로 업데이트 하는 것 보다
php구간을 이용해서 풀어서 동작시키는 게
가끔은 효율적일 수도 있습니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
테이블이 1개일 경우에는 어떻게 해야 할까요?;
1건만 테스트 해보려고 아래처럼 해봤는데 업데이트가 안됩니다. 혹시 어디가 틀렸는지 알 수 있을까요?
$sql = " update `$write_table` wr_id+1=wr_id set wr_10 = '$wr_10' where wr_id = '$wr_id' ";
sql_query($sql);