Id auto incrémenté [Résolu]

Signaler
-
 Julie -
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

Messages postés
32940
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 juin 2021
351
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...
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 ?
Messages postés
32940
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 juin 2021
351
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
Messages postés
16020
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
11 juin 2021
549
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é?
Très bien, je vais rajouter une colonne dans ma table, merci à tous pour votre contribution.