|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre extrêmement actif
![]() Inscription : avril 2005 Messages : 1 244 ![]() |
Bonjour,
Je me doute que cette opération est délicate et qu'il faut être sûr de ce que l'on fait... Comment peut on reseter l'autoincrement, ou le définir à une valeur données.... Tout ceci pour éviter que, après une suppression importante de données si pas toute, l'auto-increment ne continue à + 100, + 1000 alors que ce sont les premières données dans la table... merci de vors réponses |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour,
Le numéro sert de clé primaire ? Si oui, la procédure n'est pas simple. Sinon, en mode création, tu supprimes le champ et tu en recrées un nouveau. Mais je ne vois pas grand intérêt à ce genre de manip... Un numéro auto n'est pas un identifiant... Si c'est pour faire joli Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
Code :
positifs de préférence
__________________
Elle est pas belle la vie ? |
||
|
|
00
|
|
|
#4 |
![]() ![]() |
Bonjour Random,
Code :
alter table matable alter column nomchamp counter(numdeb,increment); Super pratique pour une table vide. Mais cela ne semble pas être le cas. Et les relations si ce champ num auto sert de clé primaire ? Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#5 | ||
|
Membre extrêmement actif
![]() Inscription : avril 2005 Messages : 1 244 ![]() |
Citation:
j'enlève l'auto increment en mode création puis je le remet pour qu'il retombe à 0. mais si il y a encore des données? Citation:
bien sur qu'il sert de clé primaire!!!! bien sur qu'il peut être identifiant!!!! C'est justement principalement à cela qu'il sert pour moi, c'est pas pour faire joli |
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
ben cela n'affecte pas les enregistrements existants
pour le reste l'utilisation de telles commandes nécessite un compréhension solide de leurs conséquences par contre cela peut rendre des services considérables en incrémentant avec un pas de 10 par exemple ou en initiant un compteur à 2007000 au 1 janvier 2007 je ne porte pas de jugement sur la solution je me contente de l'indiquer
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#7 |
|
Membre extrêmement actif
![]() Inscription : avril 2005 Messages : 1 244 ![]() |
merci random, si on peut lancer cette commande alors qu'il y a deja des enregistrements, c'est parfait cela me convient.
je ne sias pas ce que sous-entendais domi2 |
|
|
00
|
|
|
#8 |
![]() ![]() |
Re,
Par identifiant, j'entend par exemple numéro (de factures)... Si on a besoin absolument d'une numérotation sans "trous", il est préférable de créer un champ spécifique et de l'incrémenter par code... Maintenant, si tu dois absolument renuméroter... 01) Se mettre au calme 02) Faire des copies de sauvegarde 03) Afficher les relations, noter toutes les relations du champ numauto et leurs types 04) Ouvrir la table contenat le champ numauto à modifier 05) Modifier le type du champ numauto ==> numérique entier long 06) Vérifier que les numéros n'ont pas changer 07) Facultatif, trier les enregistrement dans l'ordre alphabétique 08) Ajouter un champ "NumAutoNouveau" ==> NuméroAuto 09) Faire une requête sélection affichant les 2 champs + nom + prénom par exemple, et l'imprimer 10) Faire des requêtes de mise à jour sur toutes les tables en relation avec la table modifiée, en remplaçant l'ancienne valeur de la clé par la nouvelle 11) Aller dans les relations et supprimer les relations entre les tables 12) Ouvrir en modification la table à laquelle on a rajouté un nouveau champ numauto 13) Supprimer l'ancien champ 14) Déplacer le nouveau champ en 1ère position 15) Renommer le nouveau champ comme le précédent 16) Le déclarer comme clé primaire et enregistrer les modifications. 17) Aller dans les relations et toutes les rétablir 18) Tester la base de fond en comble Je me suis bien relu, j'espère n'avoir rien oublier... De toute façon à tester avant de faire la conversion définitive Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#9 | |
![]() ![]() |
Re,
Citation:
Et ce n'est semble-t-il pas ce que tu cherches... La nouvelle valeur et l'incrément s'appliqueront uniquement aux nouveaux enregistrements (à moins que j'utilise mal cette solution). Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
|
00
|
|
|
#10 | |
|
Membre extrêmement actif
![]() Inscription : avril 2005 Messages : 1 244 ![]() |
la solution de random me convenait.
non il ne s'agit pas d'avoir une numérotation sans trous, sinon effectivement les numero-auto ne sont pas à prendre. En fait, concretement, c'est pour quelques petites applications où la clé primaire est un numéro auto, et qu'elle est affichée dans un tableau par exemple. Pour les petites tables ou j'ai fais assez bien de modifications antérieures, mais qui dans le futur ne devrait plus en subir de trop (voire plus du tout), par soucis d'affichage et de logique je préfère éviter que mes numéros soient dans une liste telle que celle-ci: Citation:
|
|
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
si ce n'est que cela un simple compactage suffit
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#12 | |
|
Membre extrêmement actif
![]() Inscription : avril 2005 Messages : 1 244 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com