8795 sujets

Développement web côté serveur, CMS

Bonjour à tous,

base de donnée Mysql

Comme expliqué dans le titre, j'aurai besoin de redéfinir les valeurs de mes Id auto incrémentés, sachant qu'ils sont clés primaire.

l'idéal serait de pouvoir faire cela avec un trigger.

Cette table dois pouvoir contenir plus d'1 million de d'enregistrement.

J'ai cru comprendre qu'en recréant la table les index serait denouveau nikel, mais si il y'a une autre solution je suis preneur.

Merci
Modifié par meche (08 Dec 2014 - 22:38)
Salut,

Excuse moi, mais pourquoi veux tu changer des ID incrémenter ?
Si tu veux définir toi même les ID, enlève l'incrémentation.

Mais si tu veux qu'un item soit assigner à un utilisateur par exemple, ajout une case "id_utilisateur" à ta table et fais une jointure.
Salut,

C'était simplement pas fausse économie Smiley cligne

En faite l'idée est assez simple, j'ai besoin d'une table ou j'ai à disposition le classement de mes utilisateur, si un utilisateur se désiste, il est supprimé de cette table sans pour autant être supprimé de la table des utilisateurs.

J'ai besoin de ce classement "en dur" par souci d'exploitation, je récupère des tranches d'utilisateur en fonction de leurs classement via un between.

j'ai finalement trouvé une requête qui me permet de remettre de l'ordre dans mon classement :

SET  @num := 0; 
UPDATE classement SET idclassement = @num := (@num+1); 
ALTER TABLE classement AUTO_INCREMENT =1;


Cela fonctionne bien, mais je suis assez d'accord que modifier des Id ce n'est pas top, je vais donc créer une colonne supplémentaire pour y mettre mon classement, et y appliquer la requête si dessus