레코드 삭제 문의 드립니다.

레코드 삭제 문의 드립니다.

QA

레코드 삭제 문의 드립니다.

답변 3

본문

ABC 라는 테이블이 있습니다.

현재 phpmyadmin 에서 레코드를 직접 선택하여 삭제하고 있습니다.

레코드는 1개만 필요해서 1개 성성이 되면 활용하고 바로 삭제를 하고 있습니다.

그누보드를 사용하고 있고, PHP 구문으로 ABC 라는 테이블의 1개 레코드를 삭제하는 방법을 부탁 드립니다.

phpmyadmin 으로 삭제할때 마다 인덱스 NM 라는 값이 1씩 증가 합니다.

삭제할때 NM 의 인텍스 값의 숫자를 기준으로 삭제 되는것 같습니다.

인텍스 값에 상관없이 1개 레코드를 삭제하였으면 합니다.

또는 레코드 전체를 삭제하는 방법도 생각이 됩니다.

 

[삭제] 라는 글자를 클릭하면 ABC 테이블의 레코드가 모두 삭제되는 PHP 구문을 도움 부탁 드립니다.

 

이 질문에 댓글 쓰기 :

답변 3

1개의 행만 남기고 다 삭제하는 쿼리라면

 

primay key 값이 wr_id라고 가정할때( 게시판테이블을 기준으로)

※ key는 다른컬럼명이 될수있습니다. (체크해보세요)

 


function delDatarows() {
    $table = "삭제할대상테이블";
    $row = sql_fetch("select wr_id from {$table} order by wr_id asc limit 1");
    $sql = "delete from {$table} a where a.wr_id <> '{$row['wr_id']}' ";
    sql_query($sql);
}
delDatarows();

위 코드를 extend 에 넣어두시면 wr_id (키값)이 가장 작은것을 제외하고는 

추가되도 바로바로삭제하게될겁니다.

sql_query("delete from 원하는 테이블 "); 
이렇게 하면 해당 디비의 내용이 모두 삭제가 될 것입니다.

sql_query("truncate 원하는 테이블 "); 
이렇게 하면 truncate ... 디비바우는 명령어 입니다.

이렇게 하면 인덱스 키값도 0으로 초기화 될 것입니다.

해보지는 않았으니 잘 테스트 해보세요..

레코드는 1개만 필요해서 1개 성성이 되면 활용하고 바로 삭제를 하고 있습니다...

===

1개 만든 이후에는 update 해서 사용하시는 건 어떤가요

delete from 원하는테이블 where ......
조건에 맞게 하나만 남기고 모두 삭제 하면 될 것입니다.

select max(필드) as xxxx from 원하는테이블 가장큰 수나 가장 작은것 또는 원하는 값을 제외하고
삭제하면 될 것입니다.
Not ......  즉 이와 같이 field  <> '특정값' 하면 특정값을 제외한 모든 것을 삭제할 것입니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,543
© SIRSOFT
현재 페이지 제일 처음으로