Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1558 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Suppression du plus ancien enregistrement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Suppression du plus ancien enregistrement

n°913751
smilm
Posté le 03-12-2004 à 12:42:24  profilanswer
 

Bonjour,
Dans le cadre de mon jeu en ligne, j'aimerais établir un historique des transferts d'argent à l'intérieur de l'alliance, limitant cet historique a 20 enregistrements par alliance.
 
J'aimerais donc que lorsque qu'arrive le 21eme enregistrement, on supprime le plus vieux des 20 actuellement existant, et l'on ajoute le 21eme.
 
Comment procoder pour selectionner le plus vieux des 20.
 
Je pense à quelque chose du style:
DELETE FROM matable WHERE date_transfert<NOW() AND alliance=$id_de_mon_alliance LIMIT 0,1
 
Suis je dans la bonne voix ?

mood
Publicité
Posté le 03-12-2004 à 12:42:24  profilanswer
 

n°913755
simogeo
j'ai jamais tué de chats, ...
Posté le 03-12-2004 à 13:07:01  profilanswer
 

ORDER BY date_transfert LIMIT 1;
 
(ASC ou DESC) testes les 2 ....


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°913759
smilm
Posté le 03-12-2004 à 13:11:11  profilanswer
 

Yop simogeo !!
Ca ne marche pas :
delete from matable ORDER BY chp_date ASC LIMIT 1

Code :
  1. Something is wrong in your syntax près de 'ORDER BY chp_date ASC LIMIT 1' à la ligne 1


n°913761
simogeo
j'ai jamais tué de chats, ...
Posté le 03-12-2004 à 13:15:03  profilanswer
 

ca semble poyurtant être supporté :/
http://dev.mysql.com/doc/mysql/fr/DELETE.html


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°913775
smilm
Posté le 03-12-2004 à 13:34:15  profilanswer
 

Hm, je testes des "variantes", mais toujours le même résultat.

n°913782
smilm
Posté le 03-12-2004 à 13:37:45  profilanswer
 

Code :
  1. Si la commande DELETE inclut la clause ORDER BY, les lignes sont effacées dans l'ordre spécifiée par cette clause. Elle n'est vraiment utilise que lorsqu'elle est couplée avec la clause LIMIT. Par exemple, la commande suivante applique la condition WHERE, trie les lignes avec la colonne timestamp, et efface la ligne la plus ancienne :
  2. DELETE FROM somelog
  3. WHERE user = 'jcole'
  4. ORDER BY timestamp
  5. LIMIT 1


...C'est exactement cela..

n°913785
smilm
Posté le 03-12-2004 à 13:39:15  profilanswer
 

Code :
  1. ORDER BY peut être utilisée avec DELETE depuis MySQL version 4.0.0.


Client API version 3.23.39 ...ca explique tout !


Message édité par smilm le 03-12-2004 à 13:39:29
n°913817
bob007
Posté le 03-12-2004 à 14:00:48  profilanswer
 

aaaaah! ca c'est pas de chance quand même!
T'as plus qu'a faire deux requètes séparées quoi ... :/

n°914183
simogeo
j'ai jamais tué de chats, ...
Posté le 03-12-2004 à 17:53:00  profilanswer
 

SmilM a écrit :

Code :
  1. ORDER BY peut être utilisée avec DELETE depuis MySQL version 4.0.0.


Client API version 3.23.39 ...ca explique tout !


 
quel hebergeur ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Suppression du plus ancien enregistrement

 

Sujets relatifs
[Access] Rappel d'une valeur sur un nouvel enregistrement[SQL]recuperer premier enregistrement
[BCC++ 6.0] suppression d'une TStringGrid dynamiqueWSH, VBS ->Suppression d'imprimantes<-
[perl] suppression d'un caractere dans une chaineUnicite d'un enregistrement
Problème d'enregistrement ACCESS via site Web[RESOLU] Image non reconnue, enregistrement uniquement en BMP !
[UNIX] suppression de fichiers suivant leur datepb d'enregistrement sous excel au format csv
Plus de sujets relatifs à : Suppression du plus ancien enregistrement


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)