Page 1 sur 1

dernières modification dans une table

Posté : 28 juin 2008, 08:49
par sokrates
bonjour tout mes amis,
svp pouvez vous m'aider a résoudre ce pb:
j'ai une base installée depuis l'année dernière de demande de candidature , je l'ai fermé dans les dèlais, quand je l'ai ouvert cette année, j'ai oublié de la vider, alors il ya des candidats de l'année dernière qui sont réinscrits.
alors ma question est: comment je pourrais les connaitre, car je doit éliminer les candidats de l'année dernière.
et merci d'avance

Posté : 28 juin 2008, 08:59
par lux
Une piste peut être :

Code : Tout sélectionner

SELECT DISTINCT EXTRACT(YEAR FROM nom_du_champ) FROM blabla ...
Pour l'année.

Sinon y a aussi le critère YEAR_MONTH pour le mois. On doit pouvoir le faire pour un delete aussi certainement.

Un peu de doc pour une savoir plus.

Posté : 28 juin 2008, 09:11
par sokrates
merci de votre aide, et cette requête me donne la date de modification d'un champs?

Posté : 28 juin 2008, 09:19
par lux
Ha oui j'oubliais ... si tu n'as pas de champ date qui s'updatait à chaque insertion, ça va être plus dur... j'y avais pas pensé. (moi j'ai toujours un champ TIMESTAMP avec un update now pour au cas ou ...)

Donc tu n'as pas de champ date je suppose ?

Heu si tu vas dans phpmyadmin sinon, tu supprimes à la main tout ce qui te parait plus vieux que la date que tu veux ... ou alors si tu as encore une copie de l'ancienne base, tu sauras retrouver ce qu'il y avait avant. Donc tu vois vers quel id ça s'arrête, et tu effaces tout ce qu'il y a avant ?

Posté : 28 juin 2008, 09:33
par sokrates
non, dommage j'ai pas de champ date, car je suis débutant, je ne le connais pas, mon pb c'est que les gents qui ont sont enregistré l'année denière et qui ont fait la mise a jour des leurs données, je doit les conserver dans la base, je ne peut pas supprimer tout les champs de l'année dernière

Posté : 28 juin 2008, 09:38
par lux
Ha, alors, tu ne peux pas les supprimer. Alors fais comme ça :

- tu crées un champ INTEGER
- tu le mets à 0 par défaut
- toutes les valeurs que tu veux montrer, tu mets la valeur à 1
- quand tu fais ton select, tu n'affiches que les valeurs ou le champ = 1 (WHERE blabla = 1).

Moi je ferais comme ça.

Sinon tu gardes la bdd dans un fichier .sql sur ton disque dur, et online tu ne gardes que la partie qui est affichée :wink:

Posté : 28 juin 2008, 09:47
par sokrates
ok, merci pour aidemon ,ami