Bonjour,
j’ai une table nommé produit, où la 1er colonne nommé id_produit est de type SMALLINT, en auto-increment, et primary.
Lorsque je supprime des vielles lignes dans cette table, la colonne id_produit présente maintenant ces valeurs :
id_produit
-----------
2
3
4
6
7
8
...
Donc la j’ai supprimé les ligne 1 et 5.
Maintenant, je voudrais savoir s’il est possible par une requête de reinitialiser l’auto-incrément de cette colonne, càd que : 2 devient 1, 3 devient 2, 4 devient 3, 6 devient 4, 7 devient 5, 8 devient 6 pour avoir à la fin :
id_produit
-----------
1
2
3
4
5
6
...
Alors, pourquoi j’ai besoin de faire ça ? parce que la colonne est de type smallint (qui va de -32 768 à 32 767)
, et comme je met régulièrement à jour les données de la table en supprimant et en ajoutant des lignes, je ne voudrais pas insérer des lignes avec un id_produit supérieur à ce qui est autorisé (càd limité à 32 767).
Je ne voudrais pas utiliser le type MEDIUMINT (de -8 388 608 à 8 388 607) parce que je n’ai que 25.000 produits seulement à mettre à jour dans ma table, donc pas besoin de consommer inutilement la mémoire et ralentir bêtement avec MEDIUMINT.
Merci d’avance, cordialement.