0
votes

Comment puis-je supprimer les lignes où leur horodatage plus vieux que maintenant?

Fondamentalement, je remplis une rangée avec un horodatage => '1558180800' pour un exemple. Je veux supprimer toutes les lignes que leur horodatage est supérieure à ce jour, l'horodatage actuel.

J'ai essayé plusieurs choses mais n'a pas fonctionné: /

Un exemple de la requête que j'ai essayée: xxx


2 commentaires

Pourriez-vous partager quoi avez-vous essayé?


Désolé, pourriez-vous également montrer votre Structure de la table également? Merci


3 Réponses :


0
votes

Supprimer à partir de TABLE_NAME TIMESTAMP_FIELD > actuel_timettamp;


1 commentaires

Il dit une valeur DateTime incorrecte, ma colonne horodatage est Varchar? Peut-être que je devrais le modifier?



0
votes

Essayez ceci:

DELETE FROM TABLE_NAME WHERE str_to_date(YOUR_FIELD, '%d/%m/%Y') > CURRENT_TIMESTAMP;


0 commentaires

0
votes

Basé sur votre exemple donné, Timeestamp code> de '1558180800' est UNIX_TIMESTAMP code> format. Maintenant () Code> Retours 'AAAA-MM-DD HH: MM: SS'. Donc, si vous traduisez directement votre requête:

 3) DELETE FROM roompasswords WHERE FROM_UNIXTIME(TIMESTAMP) > '2019-05-14 00:00:00';
    or
    DELETE FROM roompasswords WHERE FROM_UNIXTIME(TIMESTAMP) > NOW();


0 commentaires