레코드 삭제 문의 드립니다. 채택완료
ABC 라는 테이블이 있습니다.
현재 phpmyadmin 에서 레코드를 직접 선택하여 삭제하고 있습니다.
레코드는 1개만 필요해서 1개 성성이 되면 활용하고 바로 삭제를 하고 있습니다.
그누보드를 사용하고 있고, PHP 구문으로 ABC 라는 테이블의 1개 레코드를 삭제하는 방법을 부탁 드립니다.
phpmyadmin 으로 삭제할때 마다 인덱스 NM 라는 값이 1씩 증가 합니다.
삭제할때 NM 의 인텍스 값의 숫자를 기준으로 삭제 되는것 같습니다.
인텍스 값에 상관없이 1개 레코드를 삭제하였으면 합니다.
또는 레코드 전체를 삭제하는 방법도 생각이 됩니다.
[삭제] 라는 글자를 클릭하면 ABC 테이블의 레코드가 모두 삭제되는 PHP 구문을 도움 부탁 드립니다.
답변 3개
1개의 행만 남기고 다 삭제하는 쿼리라면
primay key 값이 wr_id라고 가정할때( 게시판테이블을 기준으로)
※ key는 다른컬럼명이 될수있습니다. (체크해보세요)
</p>
<p>function delDatarows() {</p>
<p> $table = "삭제할대상테이블";</p>
<p> $row = sql_fetch("select wr_id from {$table} order by wr_id asc limit 1");</p>
<p> $sql = "delete from {$table} a where a.wr_id <> '{$row['wr_id']}' ";</p>
<p> sql_query($sql);</p>
<p>}</p>
<p>delDatarows();</p>
<p>
위 코드를 extend 에 넣어두시면 wr_id (키값)이 가장 작은것을 제외하고는
추가되도 바로바로삭제하게될겁니다.
댓글을 작성하려면 로그인이 필요합니다.
레코드는 1개만 필요해서 1개 성성이 되면 활용하고 바로 삭제를 하고 있습니다...
===
1개 만든 이후에는 update 해서 사용하시는 건 어떤가요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
조건에 맞게 하나만 남기고 모두 삭제 하면 될 것입니다.
select max(필드) as xxxx from 원하는테이블 가장큰 수나 가장 작은것 또는 원하는 값을 제외하고
삭제하면 될 것입니다.
Not ...... 즉 이와 같이 field <> '특정값' 하면 특정값을 제외한 모든 것을 삭제할 것입니다.