사용자가 컴퓨터를 선택하고이 컴퓨터를 사용할 시간을 선택하는 컴퓨터 예약 시스템을 만들려고합니다. 그 시간에 다른 사람 이이 PC를 예약 할 수 없습니다, 나는 솔루션을 찾을 필요가 어떻게 automaticaly 예약 된 PC를 포함하는 모든 행을 삭제하는 시간이 만료 후. 조언 감사합니다.지정한 시간 후에 MySQL 행을 제거하십시오.
답변
이 만 제안 할 수있는 검증되지 않은 대답이지만, 난 그냥이보고 시작, 그래서뿐만 아니라 피드백에 관심이 : 그런 다음 실행됩니다 PHP 파일 내에서, 당신은 할 수 있습니다. 나는 가능성과 단점을 해결하기 위해 노력하고 있지만, 당신의 필요에 잘 맞을 것입니다.
MySQL 이벤트를 살펴보면이 기사는 here이며 공식 구문은 Mysql Docs입니다.
문서 별 :
이벤트는 트리거와 유사합니다. 그러나 데이터 변경에 대한 응답으로 응답을 실행하는 대신 일정 기간 동안 숫자 을 실행하도록 일정을 예약 할 수 있습니다. 결과적으로 데이터베이스 전용 cron 작업입니다.
이 문제를 숙고하면> 1hr (만료일 경우)을 삭제하는 절차가 필요합니다.이 절차는 새 인서트에서 그 순간 만료 된 항목을 없애기 위해 트리거되지만, 도 15 분마다 실행하여 트리거에 의한 자동 삭제가 다른 사람에게 예약을 추가하지 않도록합니다 그 절차를 시작하십시오.
서버가 리눅스 인 경우 cron jobs을 사용하여 예약 날짜마다 하루에 한 번씩 확인할 수 있습니다. 이 날짜가 만료 된 경우 수정 된 필드 예약을 사용할 수 있습니다.
이 문제를 해결하는 일반적인 방법은 reservation
행에 expires_at
타임 스탬프를 저장하는 것입니다. 그런 다음 "열린"예약을 찾으려면 WHERE 'expires_at' < NOW()
또는 이와 비슷한 것이 있습니다.
는 일반적으로 나는 이런 식으로 할 것이다 :
- 가 저장
date_from
및date_to
데이터 형식을 모두 예약을 저장DATETIME
- 모든 컴퓨터에 컴퓨터 무료 검사가 있는지 확인하고
WHERE '{$my_date}' >= date_to AND '{$my_date}' <= date_from
와 필터 - 이것으로 당신은 특정 시간 내에 예약되지 않은 모든 PC를 얻을 수 있어야합니다 ...
우리 호텔 예약 시스템을 썼다. 시간당 객실을 판매하지 않기 때문에 'DATETIME'대신에 날짜 만 사용한다. – Mike
해결책을 완료하려면 CRON 작업 wh ich는 reservation_time + (15 * 60) < unix_timestamp()가있는 모든 예약을 제거하는 쿼리를 호출합니다.
예약이 시작되었거나 시작되었으며 UNIX/Epoch Timestamps를 사용하고 있다고 가정합니다.
대신 당신이 항상 15분 즉, 일정 간격 될 것입니다 알고있는 경우 expires_now을하고, 당신은 할 수 있습니다 : 당신이에 볼 수 있었다DELETE FROM reservations WHERE reservation_time + (15 * 60) < unix_timestamp()
뭔가 관리 크론 작업의 PHP, http://www.highonphp.com/cron-job-manager에서입니다.
위 스크립트는 예약이 생성되면 /etc/cron.d/에 항목을 삽입하고 예상되는 예약 종료 시간에 실행되도록 구성 할 수 있습니다.
이DELETE FROM reservations WHERE id = :id
- 1. 지정한 시간 후에 PHP cron
- 2. 1 필드가 발견되면 mySQL 행을 제거하십시오
- 3. Jquery와 PHP를 사용하여 MySQL 행을 제거하십시오.
- 4. 특정 시간 후에 행을 삽입하는 쿼리
- 5. mysql에서 지정한 시간 동안 행을 반복하는 방법은 무엇입니까?
- 6. 제한된 시간 후에 MySql 테이블에서 삭제
- 7. 지정한 열의 행을 어떻게 순환합니까?
- 8. notepad ++ 공백이있는 행을 제거하십시오.
- 9. DataGridView에서 행을 제거하십시오.
- 10. ObservableCollection에서 현재 행을 제거하십시오.
- 11. TableLayoutPanel 빈 행을 제거하십시오.
- 12. jquery : 테이블 행을 반복하면서 테이블 행을 제거하십시오.
- 13. 지정한 기간 후에 NSUserDefaults 지우기 iPhone
- 14. Excel - 목록에서 중복 행을 제거하십시오.
- 15. Pygtk - Liststore, 마지막 행을 제거하십시오.
- 16. PHP로 파일 끝에서 행을 제거하십시오.
- 17. 파일에서 키워드를 포함하는 행을 제거하십시오.
- 18. Java의 큰 txtfile에서 행을 제거하십시오.
- 19. bash의 STDOUT에서 n 개의 행을 제거하십시오.
- 20. 배열에 나타나는 SQL DB에서 행을 제거하십시오.
- 21. 30000ms 후에 시간 초과되었습니다.
- 22. 파일에서 행을 읽은 다음 처리하고 제거하십시오
- 23. 일정 시간이 지난 후에 .val을 제거하십시오.
- 24. 24 시간 후에 자체적으로 삭제되는 임시 레코드를 만드시겠습니까?
- 25. 24 시간 후에 이메일을 보내도록 예약 하시겠습니까?
- 26. MySQL 시간 소인 범위에서 행을 합하는 방법은 무엇입니까?
- 27. 은 mysql 테이블에서 시간 단위로 행을 가져 오려고했습니다
- 28. SQL 거의 중복 된 행을 제거하십시오.
- 29. 파일의 첫 번째 행과 마지막 행을 제거하십시오.
- 30. 테이블 행을 복제하고 JavaScript에서 값을 제거하십시오.
실제로 행을 삭제하려면 'delete from ... where ...'가 포함 된 프로 시저를 호출하는 이벤트를 사용하면 정말 잘 작동합니다. 이벤트가 자주 자주 꺼 지도록 일정을 잡으십시오. 반면에 다른 답변과 같이 시작 및 종료 시간을 사용하면 모든 예약에 대한 기록을 유지하게됩니다. 당신이 필요로하는 것에 달려 있습니다. – Windle