Vous n'êtes pas identifié(e).
Après suppressions d'enregistrements dans une table, restaurer la continuité des valeurs de la clé primaire
Une question basique : une table de ma base de données contenait 100 enregistrements.
Je les ai tous supprimés sauf les 4 premiers.
Quand j'ajoute un nouvel enregistrement, le champs IDnews, défini comme primaire, prend automatiquement la valeur 101.
(Le suivant : 102 etc.)
Je voudrais qu'il prenne la valeur 5.
Hors ligne
Quel intérêt ?
Cf ce post identique.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Je voulais utiliser cette valeur, mais mon script nécessitait un pas de 1.
Pas grave, j'ai copié les valeurs dans une nouvelle colonne, détruit l'ancienne et renommé la nouvelle avec le nom de l'ancienne. Ca a marché nickel.
Hors ligne
Il n'y a jamais de bonne raison pour supprimer ou modifier un identifiant, a fortiori une primary key auto-incrémentée.
C'est très dangereux notamment dans le cas où cet identifiant servait de référence de clé étrangère dans d'autres tables.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Là, c'était dans une base extrêmement simple, la clé en question n'était pas sollicitée dans d'autre tables. Ceci dit, j'ai solutionné mon problème d'une façon maladroite. Il suffisait d'un requête sql pour réinitialiser l'auto_increment.
Hors ligne
Je voulais utiliser cette valeur, mais mon script nécessitait un pas de 1.
Et on peut voir ce script si maladroit qu'il impose cette séquentialité des ids ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
c'était pour zoner l'affichage des résultats, comme sur un listing papier. Un enregistrement sur fond gris foncé, le suivant dessous sur fond gris clair. J'ai refait avec une variable qui oscille entre 0 et 1.
PS : je ne sais pas comment indiquer dans le titre du topic que le problème est [Résolu]. Si quelqu'un qui passe par là sait le faire, qu'il ne se gène pas.
Dernière modification par theyoubot (13-07-2011 15:01:05)
Hors ligne
Bonsoir,
Je sais que l'article est résolu, mais vaut mieux tard que jamais. Ce genre de choses ne se gère pas en DB mais en vérifiant la parité de l'index de ligne en faisant ($idxligne % 2==0) pour les lignes paires et en PHP.
Par contre et pour répondre aussi à MK, le besoin d'assurer une continuité d'index dans une table peut tout bêtement se faire ressentir pour gérer un affichage complexe en Javascript via des tableaux d'id d'élément du DOM, dans lequel, pour gagner du temps, on veut faire coïncider les index d'élément avec leur index d'id, ou alors pour assurer également la même continuité dans les indexs des éléments du DOM.
Alors, bien qu'il soit fortement déconseillé de faire coïncider ces indexs, en général, je ne le fais pas du tout sur des tables où une suppression est envisageable, mais sur une maj tout au plus.
++
Dernière modification par Jc (29-07-2011 21:20:49)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Par contre et pour répondre aussi à MK, le besoin d'assurer une continuité d'index dans une table peut tout bêtement se faire ressentir pour gérer un affichage complexe en Javascript via des tableaux d'id d'élément du DOM, dans lequel, pour gagner du temps, on veut faire coïncider les index d'élément avec leur index d'id, ou alors pour assurer également la même continuité dans les indexs des éléments du DOM.
Alors, bien qu'il soit fortement déconseillé de faire coïncider ces indexs, en général, je ne le fais pas du tout sur des tables où une suppression est envisageable, mais sur une maj tout au plus.
Encore et toujours de vaines arguties capilotractées.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne