2013-07-13 7 views
-1

Je ne comprends pas pourquoi mon sql retour cette erreur lorsque je tente de créer un événement ..
erreur: # MySQL returned an empty result (ie no rows).

code:


MySQL retourne un message: un résultat vide (pas de lignes)

USE my_database; 
CREATE EVENT IF NOT EXISTS `remove_inactives` 
ON SCHEDULE EVERY 15 MINUTE 
ON COMPLETION PRESERVE 
ENABLE 
DO 

    DELETE FROM `inactive` 
     WHERE `inactive` < DATE_SUB(NOW(), INTERVAL 15 MINUTE) 
; 
+4

approprié S'il vous plaît Don ne supprime pas les questions afin de les poster à nouveau. –

+0

Avez-vous essayé 'DELETE FROM inactive WHERE inactif furas

Répondre

0

le problème est probablement dû au fait que votre clause where ne se réfère pas à des colonnes dans votre table inactive et donc

`inactive` < DATE_SUB(NOW(), INTERVAL 15 MINUTE 

ne donne aucun résultat.

Je ne sais pas ce que votre nom de colonne est, mais pour l'amour de l'argument supposons qu'il est last_mod_time, auquel cas cette instruction SQL pourrait fonctionner:

DELETE FROM `inactive` 
    WHERE `inactive`.last_mod_time < DATE_SUB(NOW(), INTERVAL 15 MINUTE) 

Si vous trouvez que vos événements ne sont toujours pas en cours de traitement, utilisez SHOW PROCESSLIST\G pour voir si event_scheduler est en cours d'exécution.

Sinon, utilisez ce qui suit pour démarrer la session mysqld actuellement en cours d'exécution:

mysql> SET GLOBAL event_scheduler = ON; 

Pour définir le paramètre permanent de sorte que le planificateur commence lorsque mysqld démarre régler le server system variable

+0

Je suis d'accord avec linguanerd – furas

Questions connexes