2011-02-18 6 views
1

지정된 날짜에 MySQL 테이블의 행을 자동으로 삭제하는 방법이 있어야한다는 것을 알고 있습니다. 나는 오늘 단지 뇌사자입니다 :/특정 날짜에 MySQL 데이터베이스에서 행을 자동으로 삭제하는 방법은 무엇입니까?

내가 입력 한 게시물이 있고 테이블의 필드 중 하나가 "delete_date"가되도록하고 그 필드에 날짜를 입력하면 해당 행이 삭제됩니다. 지정된 날짜에 날짜를 입력하지 않으면 자동 삭제되지 않습니다.

PHP/MySQL을 사용하여이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 팁이나 예제가 도움이 될 것입니다.

+0

http://dev.mysql.com/doc/refman /5.1/en/events-overview.html – hakre

답변

1

기본 쿼리 : 내가 PHP를 모르는

2

delete_date 필드가 현재 날짜보다 크거나 같은 모든 행을 삭제하는 예약 된 작업 (cron 작업)을 실행합니다.

1

, 그러나 이것은 당신이 실행하는 방법을 알 수없는 경우가 아니라면 정말 언어 무신론자 질문 :

DELETE * FROM cms_table WHERE delete_date='$the_date_to_delete'

이 (http://dev.mysql.com/doc/refman/5.0/en/delete.html 참조) 언어로 된 SQL.

@tylerl에서 제안하는대로 예약 된 작업을 실행할 수 있습니다. PHP에 대해 확실하지 않은 .Net 언어로하기 쉽습니다. 또한 오래된 레코드를 하루 종일 지속적으로 삭제하려는 경우 서비스를 실행할 수있는 옵션이 있습니다. 다시 말하면 .Net에서 충분히 쉽다.

, 그러나, 당신은 응용 프로그램이 기록 삭제에 대해 물리적으로 확인하려면 (PHP, 닷넷 등)가있는 경우 :

delete * from myTable where recordDateField > 'cutOffDate' // I think you pass parameters with a `$` - not sure 
관련 문제