Jump to content

problème d'auto-increment aprés import csv


Recommended Posts

Bonjour la communauté

 

Suite je pense à des erreurs de chargement csv , l'id des produits sur phpmyadmin (et prestashop) passe de 3345 à 4119.

Comment remettre tout ça proprement sans tout bousiller ? c'est à dire simplement repartir de 3346

Il y a actuellement 3732 produits ,j'aimerais que l'id soit dans l'ordre sans avoir à recharger tous les csv.

 

Merci d'avance pour vos réponses je vais guetter mon écran.

 

:unsure:

Link to comment
Share on other sites

Bonjour,

a priori c'est une bien mauvaise idée de modifier les ID des produits car c'est la référence sur laquelle se base prestashop pour retrouver chaque produit toutes les intéraction entre les tables sont lié à cet ID.

 

Si l'autoincremente continu bien à partir de 4119 sur les novueau produit ajouté ça ne pose aucun problème qu'il y ai un "trou" dans les id, c'est même normal.

Link to comment
Share on other sites

salut !

 

Merci pour ta réponse , sauf que s'il y a un trou ,c'est qu'il y a eu un problème quelque part, problème qui peut revenir et la personne pour qui je fais le site ne trouve pas ça normal.

si je supprime les produits à partir du début du trou l'auto increment va repartir au bon endroit ?

Sinon vu que je charge les produits sous forme de csv si je mets une reference produit et une id similaire ,du genre ref:76000 et id:76000 ,à l'import prestashop va t-il modifier l'id ? ou conserver 76000 ?

 

Merci

Link to comment
Share on other sites

Ce n'est pas parcequ'il y a un trou qu'il y a eu un problème.

Les ID en base de données n'ont pas vocation à se suivre.

Le principe est d'avoir une valeur unique pour un objet donné on utilise des valeurs numérique car c'est plus simple et on l'autoincrémente de 1 à chaque nouveal ligne ajoutée. C'est pour ça qu'il se suivent mais tu pourrai très bien utiliser des clef alphanumérique et le trou ne te poserai aucun problème car tu ne le verrai pas.

 

Le trou que tu constate peux simplement être dû à la suppression de plusieurs produits.

 

Si je prend l'exemple suivant

ID 1 

ID 2

ID 3

 

si tu supprime n'importe laquelle de ces lignes le prochain ID sera dans tous les cas 4, tu aura donc un trou et c'est le comportement normal.

C'est ce que tu veux faire qui n'est pas normal :).

 

Si on reste dans ta logique sa voudrait dire que dès qu'on supprime un produit du catalogue il faut remettre à jour tout les ID et toutes les liaisons entre les tables pour qu'il n'y ai pas de trou. 

 

 

 

si je supprime les produits à partir du début du trou l'auto increment va repartir au bon endroit ?

 

Pour répondre à cette question comme dit plus haut, non. L'autoincremente repartira de la dernière valeur qu'il à connu soit 4119 d'après ton premier post. (et c'est bien celle là la bonne valeur de l'autoincremente :D)

Link to comment
Share on other sites

merci de ta réponse ,

j'ai bien envie de supprimer les produits à partir du début du trou sur prestashop et sur phpmyadmin pour les réimporter et repartir normalement.D'ailleurs je crois qu'on peut faire repartir l'autoincrement où on veut en allant dans opération.

 

 

Déjà qu'il y a un décalage entre id et ref, mais sinon pour l'histoire des clés alphanumériques ,comment ça se modifie et est-ce que ça va incider sur les produits déjà existant ?

 

Sinon si je comprends bien  il n'y a aucun moyen d'utiliser une ref produit similaire à l'id ?

 

Merci de ta patience

Link to comment
Share on other sites

 

 

Sinon si je comprends bien  il n'y a aucun moyen d'utiliser une ref produit similaire à l'id ?

 

Non vu que l'ID à un rôle uniquement pour le développement et non pas pour l'affichage.

 

 

 

D'ailleurs je crois qu'on peut faire repartir l'autoincrement où on veut en allant dans opération.

 

oui 

 

 

 

mais sinon pour l'histoire des clés alphanumériques ,comment ça se modifie et est-ce que ça va incider sur les produits déjà existant ?

Ben c'était juste pour te montrer que le "trou" n'était pas un problème. A mettre en place ça va être une très grosse galère il faudrait recodé une bonne partie de prestashop pour faire ça.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...