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
29179
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
335
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
29179
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
10 août 2020
335
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
14595
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
10 août 2020
426
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.