Bonjours,
J'aimerai savoir s il est possible de sortir le dernier enregistrement sans passer par un max(id) par exemple (j' ai pas d'id qui peut etre classé par ordre croissant)?
D'avance merci
Version imprimable
Bonjours,
J'aimerai savoir s il est possible de sortir le dernier enregistrement sans passer par un max(id) par exemple (j' ai pas d'id qui peut etre classé par ordre croissant)?
D'avance merci
La réponse est simple et courte :
NON :(
En SQL, il n'y a pas de notion d'ordre de création des lignes d'une table.
Donc, si tu veux connaître le dernier enregistrement créé, il te faut soit un identifiant auto-incrémenté, soit une colonne enregistrant le moment auquel la ligne a été ajoutée.
Donc si j'enregistre la date actuelle et l'heure par exemple avec:Citation:
Envoyé par al1_24
Quel est la requête qui trouvera la dernière date et s'il y en a plusieur la dernière heure?Code:
1
2 $date=date('d.m.y'); $heure=date('G:i');
ou y a plus simple?
Merci
L'idéal est une colonne de type TIMESTAMP, mais faute de mieux, date et heure peuvent être utlisées.
Quant à la requête, c'est toujours la même (réponse plusieurs fois donnée sur ce forum)
Code:
1
2
3
4
5
6
7 select * from MATABLE as A where exists ( select 1 from MATABLE as B where A.ID = max(B.ID) ) ;