선배님들의 가르침으로 많은걸 배우고있습니다!
다름이 아니라 update문을 사용할때 숫자 - wr_id , 텍스트 - wr_12 라고 하고
1 사과
3 배
4 복숭아
5
6 멜론
이런식으로 테이블과 컬럼이있다면
1 사과,바나나
3 배,자두
4 복숭아,망고
5 수박
6 멜론,체리
이렇게 update를 하고싶은데 어떤 방식을 해야할지 잘 모르겠습니다
ifnull 하고 on duplicate key update 2개를 사용해봤지만 제가 원하는게 안나옵니다 ㅠㅠ
1.
$text = array('바나나','자두','망고','수박','체리');
for ($i = 0;$i < count($text); $i++){
$sql = "update test set wr_12 = concat( wr_12, ',". $text[$i] ."') where wr_12 = '" . ($i + 1) . "' ";
}
2.
$text = array('바나나','자두','망고','수박','체리');
for ($i = 0;$i < count($text); $i++){
$sql = " insert into test (wr_id, wr_12) values ('" . ($i + 1) . "','".$text[$i]."' ) on duplicate key update wr_12 = ',".$text[$i]."' ";
}
이렇게 저렇게 해보다가 잘안되서 여쭈어봅니다 어떻게 하면 될지 조금만 알려주세요
답변 2개 / 댓글 5개
.... on duplicate key update wr_12 = concat( wr_12, '{$text[$i]}' ) ";
이렇게 해 보세요.
답변에 대한 댓글 4개
$text = array('바나나','자두','망고','수박','체리');
for ($i = 0;$i < count($text); $i++){
$sql = " insert into test (wr_id, wr_12) values ('" . ($i + 1) . "','".$text[$i]."' ) on duplicate key update wr_12 = ',".$text[$i]."' ";
}
on 이하를 제가 적어 드린 부분으로 바꾸면 그렇게 되지 않을까요?
단 여기서 wr_id는 unique key이어야 합니다.
1.바나나
2.자두
3.망고
4.수박
5.체리
6.멜론
wr_id = 2 이부분이 insert때문에 자꾸 추가되서 update 단일로 처리해야할꺼같은데..ㅠㅠ
이게 쉬울줄 알았는데 엄청 어렵네요..후..ㅠㅠ
단순하게 wr_12번만 순차적으로 들어가게끔만 하면될듯한데..좀더 생각을 해봐야겠습니다..
항상 답변주셔서 감사합니다.. (_ _)
wr_id = 2 이부분이 insert때문에 자꾸 추가되지 않습니다.
$text = array(1=>'바나나','자두','망고','수박','체리');
for ($i = 1; $i <=count($text); $i++){
if ($text[$i]) {
$sql = "update test set wr_12 = concat( wr_12, ',". $text[$i] ."') where wr_id = '" . $i . "' ";
}
}
답변에 대한 댓글 1개
위에 방식은 제가 이미 질문전에 사용해봤고 결과물은 아래처럼 나옵니다
1 사과,바나나
3 배,망고
4 복숭아,수박
5 ,체리
6 멜론
제가 원하는건 아래처럼 들어가게 하고싶은겁니다 ㅠㅠ
1 사과,바나나
3 배,자두
4 복숭아,망고
5 수박
6 멜론,체리
답변을 작성하려면 로그인이 필요합니다.
제가 질문에 적은 쿼리문은 방식이 잘못된거같아서 여쭈어봤습니다
insert를 넣으면 2번필드가 없기때문에 생성되는부분이라
저는 아래처럼 2번필드 추가 안하고 이렇게 넣을수 있는 쿼리문 방법이 궁금합니다 ㅠㅠ
1 사과,바나나
3 배,자두
4 복숭아,망고
5 수박
6 멜론,체리