Id auto incrémenté

Résolu
Julie - 26 avril 2014 à 00:21
 Julie - 27 avril 2014 à 10:17
Bonjour,

Voici ma problématique, j'utilise mon Id auto incrémenté dans l'affichage du plus récent au plus ancien de mes articles. L'article ayant l Id le plus grand est donc le plus récent.
Mais comment procéder pour modifier un ancien article, j'avais penser modifier l Id en lui indiquant en me basant sur le plus grd Id +1.
Mais comment le mettre en pratique ?

Merci si vous pouviez m'aider

4 réponses

jordane45 Messages postés 37537 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 juin 2023 341
26 avril 2014 à 04:35
Bonjour.
Il serait préférable que tu ajoutes un champ datetime a ta table et que tu le mettes à jour lorsque tu modifies un article.
Tu feras alors ton tri (order by) sur ce champ plutôt que sur l'id...
0
Merci Jordan, j'y avais penser mais si je reste sur ma 1ere idée n'est il pas possible d'arriver au même résultat ?
0
jordane45 Messages postés 37537 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 6 juin 2023 341
Modifié par jordane45 le 26/04/2014 à 14:15
Bien sur que c'est faisable... le plus simple étant de supprimer la ligne puis de la recréer..l'id s'auto-incrementera...

Mais ... un ID n'a pas pour vocation de trier des enregistrements...mais de les identifier....
Ton idée peut fonctionner;..mais perso.. je trouve que ça fait bidouille.....

mais bon...
Tu peux aussi récupérer la valeur du dernier ID.
 SELECT MAX(ID) From Matable

. et y Ajouter +1puis faire un update de l'ID :
UPDATE table SET nom_colonne_1 = 'nouvelle valeur' WHERE condition


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
Whismeril Messages postés 18417 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 5 juin 2023 624
26 avril 2014 à 14:14
Bonjour, je plussoie.
D'autant que si tu viens à synchroniser ta base de données avec une autre comment vas tu faire pour mettre à jour un enregistrement si le champ qui sert à l'identifier et donc est censé être immuable a été modifié?
0
Très bien, je vais rajouter une colonne dans ma table, merci à tous pour votre contribution.
0