PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 04-07-2011 01:26:30

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

[Résolu] Après suppressions, restaurer continuité valeurs clé primaire

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

#2 04-07-2011 04:47:44

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

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

#3 04-07-2011 14:07:13

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

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

#4 04-07-2011 15:17:29

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

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

#5 06-07-2011 23:15:01

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

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

#6 07-07-2011 03:49:15

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

theyoubot a écrit :

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

#7 13-07-2011 14:37:25

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

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

#8 29-07-2011 21:13:23

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

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

#9 30-07-2011 01:30:03

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] Après suppressions, restaurer continuité valeurs clé primaire

Jc a écrit :

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

Pied de page des forums