번개애비의 라이프스톼일
php mysql 중복된 데이터 일괄삭제 본문
특정테이블에 일부필드들을 비교하여 중복된 데이터값이 있을 경우
FOR문을 이용하여 해당 데이터들만 일괄적으로 삭제하는 php문
테이블명 : A_TABLE
필드 : index, tel, name
tel, name 필드가 중복되는것이 여러개 있을때 index 필드가 인덱스역할을 하고 있는 상태에서
일괄적으로 지운다.
<?php
/** MySQL 서버 연동문은 생략 **/
//A_TABLE 테이블에서 tel과 name값이 같은것이 1개 초과인것을 "c"라는 임시필드로 출력하기
$cnt_query = "SELECT name, COUNT( * ) AS c FROM A_TABLE GROUP BY tel, name HAVING c >1";
$cnt_result = mysql_query($cnt_query);
$cnt = mysql_fetch_array($cnt_result);
//"c"라는 임시필드 갯수만큼 루프돌리기
for($i = 1; $i<$cnt[c]; $i++){
//중복된 필드들을 삭제
$del_query = "DELETE FROM A_TABLE WHERE index in (select index from (SELECT index FROM A_TABLE GROUP BY tel, name HAVING count(*) > 1)CNT)";
mysql_query($del_query);
}
mysql_close();
?>
'IT' 카테고리의 다른 글
[C] changechar(char *str, int i, char ch) 함수를 완성하라 (0) | 2016.10.26 |
---|---|
[C] findChar (char *str, char ch) 함수를 완성하라 (0) | 2016.10.26 |
오라클 실습 (0) | 2016.09.29 |
오라클 12g에서 system 패스워드를 초기화 할때 (0) | 2016.09.29 |
MySQL에서 중복데이터(레코드) 일괄 찾기 (0) | 2016.09.27 |
Comments