즐거운 한가위 되세요~
본문
order 게시판 write.update.skin에
$sql = "INSERT INTO g5_abc(
mb_id, wr_name, wr_subject, wr_id, in_qty, wr_datetime ) VALUES(
'".$mb_id."',
'".$wr_name."',
'".$wr_subject."',
'".$wr_id."',
'".$in_qty."',
'".G5_TIME_YMDHIS."'
)";
sql_query($sql);
이렇게 하여 g5_abc 테이블에 별도로 집어넣고 있습니다.
그런데 게시판 글을 수정하면 위의 필드에는 변동이 없는데 수정할때마다 g5_abc테이블에 idx가 늘어나면서 기록되고 있습니다.
어떻게 해야 order게시판에서 g5_abc테이블에 위의 내용을 처음에는 insert시킨뒤에 같은 wr_id의 데이터는 업데이트를 시킬 수 있을까요?
답변 2
기준이 되는 테이블(게시판)에 데이터를 넣었을때 g5_abc (두번째 게시판)에도 저장이 되며
이 두 테이블 데이터가 동일해야한다는 말씀인가요?
왜 그런 구성을 하는지는 모르겠지만, 글이 삭제될경우에도 처리해줘야할텐데요.
구현을 하자면
처음글이 등록될때 기준이 되는 테이블의 키값 (wr_id) 을 따로 두번째 테이블 여분필드에 저장시킵니다. 꼭 여분필드가 아니라 그냥 그대로 insert해도 무방합니다.
두 게시판은 이 키값으로 서로 물려있겠죠. (wr_id)
글을 저장할때 무조건 insert가 아닌 키값으로 select 하여 데이터가 없으면 insert
데이터가 있다면 update를 하는 형식이 되어야 겠네요.
테이블을 새로 만드시는게 낫습니다.
idx int auto_increment primary key ,
로 선언된경우
임의의 값을 넣는것도, 변경하는것도 안됩니다.
1. 테이블 복제해서 하나 만들어두시고
(g5_abc와 동일한 테이블을 새로 생성후 insert)
2. g5_abc 구조 복제후 기존, g5_abc drop
3. 위의 두가지를 한번에 해결하는건 g5_abc의 테이블 이름을 다른것으로 변경하는것도 방법입니다.
4. 새로운 g5_abc를 생성하되
idx int , <-- 이렇게만 사용하시고
글 작성후
(select max(idx)+1 from g5_abc)
형태로 순번을 증가시키거나 임의의 값으로 추가하시거나 하시면됩니다.