2014-03-30 2 views
0

1 개월이 지난 행을 삭제하는 MySQL 이벤트가 있습니다. 이제는 그것을 변경하여 6 개월보다 오래된 행을 삭제합니다 (게임에서 보낸 메시지에 대한 데이터베이스를 정리합니다).phpMyAdmin 이벤트 오류 # 1542 간격이 너무 큼

내 (편집) MySQL의 이벤트는 다음과 같습니다

The following query has failed: "CREATE DEFINER=`admin`@`localhost` EVENT `delete msgs` ON SCHEDULE EVERY 0 DAY_HOUR STARTS '2013-07-19 18:00:00' ON COMPLETION PRESERVE ENABLE DO DELETE FROM messages WHERE date < (NOW() - INTERVAL 6 MONTH)" 
MySQL said: #1542 - INTERVAL is either not positive or too big 

이벤트 기능을 잘하지만 지금처럼 난 그것을 저장할 수 없습니다 : 내가 얻을

DELETE FROM messages WHERE date < (NOW() - INTERVAL 6 MONTH) 

오류입니다. 이벤트를 열고 즉시 저장하면 동일한 오류가 발생합니다.

+0

'EVERY 0 DAY_HOUR'은별로 좋지 않습니다. 얼마나 자주 행사를 운영해야합니까? –

+0

매 10 시간마다 실행해야합니다. 나는 현재 필드에 입력 된 모든 '0 10'DAY_HOUR을 실행했습니다. 구문이 변경 되었습니까? – s1h4d0w

+1

그게 다야, 왜 내가 전에 일했는지 모르겠다. execture를 모든 필드로 변경 한 후 쿼리를 수락했습니다. 이제 실행마다 설정 : 10 시간 – s1h4d0w

답변

0

Juergen d는 기본적으로 내 질문에 대답했습니다. 간격은 "EVERY 0 DAY_HOUR"로 설정되었지만 phpmyadmin에서는 "EVERY '0_10'DAY_HOUR"으로 설정되었습니다. 나는 '0_10'으로 이전에 그것을 저장할 수 있었지만 분명히 더 이상 작동하지 않거나, (결코 이벤트가 그것의 일을 했음에도 불구하고) 결코 작동하지 못했습니다.

나는 이것을 "EVERY 10 HOUR"로 변경했으며 이제는 괜찮습니다.