Modérateur PHPfrance |
8758 Messages
25 mai 2013, 16:18
si tu utilisé un champ de type date tu n'aurais pas d'erreur tu ne peux pas faire de calcul sur les dates si le champs n'est pas de type de date.
donc passe le champ datemail en type date et tu n'auras pas de problème.
attention si tu as des données utiles il faut penser à les sauvegarder avant de changer le type de champs, par exemple commence par ajouter un champs date, ensuite tu fait copie, puis tu supprime la colonne d'origine et enfin tu renomme la nouvelle colonne.
c'est très simple et tu peux le faire en SQL (regarde du coté des curseurs).
Certain soft font ce genre de chose pour éviter la perte des données, mais dans ton cas il te faut modifier les données puisse que la date entrée n'est pas au bon format (tu a dd/mm/yyyy alors qu'il faut yyyy/mm/dd) et tu aura forcément une pert de données si tu essai de modifier directement le champs ainsi.
idem si tu essai d'insérer les données existantes dans un champs date (enfin la tu aura une erreur).
donc pour résumer
- ajout d'une nouvelle colonne (disont tmpdate)
- select des données de la colonne datemail + id
- pour chaque ligne de résultat
- modifier la date en yyyy/mm/dd
- update de tmpmail sur la ligne courante (grace à l'id que tu utilise dans le prédicat)
- supprimer la colonne datemail
- renommer tmpdate en datemail
- tester ma requête SQL (DELETE FROM sauvegardes WHERE datemail < DATE_SUB(now(),INTERVAL 7 DAY); )
@+
Il en faut peu pour être heureux ......