SQL UPDATE 반복문 질문입니다. 채택완료
</span></p>
<pre>
<span style="font-family:맑은 고딕;">$arr = array ('2380','2377','3767','3798',,,,,,,'5001');
$sql = "update TABLE set column1 = '1', column2 = '2', column3 = '2' where ID in (".implode(",",$arr).") ";.</span></pre>
<p><span style="font-family:맑은 고딕;">.</span></p>
<p><span style="font-family:맑은 고딕;">.</span></p>
<p><span style="font-family:맑은 고딕;">$sql = "update TABLE set column1 = '1', column2 = '4', column3 = '0' where ID in (".implode(",",$arr).") ";</span></p>
<p><span style="font-family:맑은 고딕;">
이런식으로 약 1000개를 업데이트 해야되는데요.
반복문을 써야할것 같아서 검색해보니 where절의 ID는 저런식을 하면 된다고 찾았는데
나머지 컬럼은 다 제각각이라.. 어떻게 해야할지 ,, 도움좀 부탁드립니다.
나머지도 in으로 하면되나요?
답변 2개
그럼 간단합니다
해당값을 들고있는 배열이 $arr라고했을때
for($i=0;$i sql_query($sql); } 이렇게하면 되겠네요$sql = "update TABLE set column1 = '".$arr[$i]['colum1']."', column2 = '".$arr[$i]['colum2']."', column3 = '".$arr[$i]['colum3']."' where ID = '".$arr[$i]['ID']."'";
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 4개
update TABLE set column1 = '1', column2 = '2', column3 = '0' where ...
.
.
.
1000번째도
update TABLE set column1 = '2', column2 = '8', column3 = '0' where...
이런식으로용,,
ID값도 한 배열에 들어가있는데 저렇게되면 각 아이디에 들어갈 컬럼데이터 값이 섞이지않을까요?
ID값별로 들어갈 데이터값이 정의되어있어야 할것같네요
예를들자면..
$arr = array(array('id'=>'2380','column1'=>'1','column2'=>'2','column3'=>'0'),
array('id'=>'2377','column1'=>'2','column2'=>'8','column3'=>'0')...)
이런식으로되어있어야
각 아이디별로 컬럼값이 정상적으로 넣을수있고 여기서 반복문만 돌리면 끝날일이니깐요
그래서 for문으로 돌릴까 햇는데
혹시나해서 검색해보니 여기까지 와있습니다.
아주 정확히 말씀하신대로 데이터는 불러오고잇어요.
그럼 그냥 update문 전체를 포문으로 해야할까요?
[code]
arr = 데이터;
update
테이블
set
컬럼1 = arr[i]['컬럼1데이터'],
컬럼2 = arr[i]['컬럼2데이터'],
컬럼3 = arr[i]['컬럼3데이터']
where
id = arr[i]['id'];
[/code]
그냥.. 정석?대로 포문을 돌리는게 맞을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
where in을 쓰는것은 id값만 달라질때 쓰나보네요 ㅎㅎ