|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() |
Bonjour,
Je suis sous DB2 7.2.4 J'ai une table TOTO, avec un champs autoincrement aa et un champs varchar bb ( par exemple ) Je faire 2 INSERT, j'ai donc par exemple aa bb [1] [test] [2] [bobo] La on fait des inserts en forcant le champs aa ( lors d'une recuperation d'un backup par exemple ) j'ai donc aa bb [1] [test] [2] [bobo] [4] [test2] <- on a force le champs aa a 4 [5] [bobo2] <- on a force le champs aa a 5 Si a ce point je refait un insert sans preciser le champs aa, j'aurais aa bb [1] [test] [2] [bobo] [3] [nouveau] <- mon nouvelle enregistrement [4] [test2] [5] [bobo2] Et donc arrive a ce point si je refait un insert sans preciser aa, j'ai une erreur car il essai d'inserer un enregistrement avec aa = 4, enregistrement qui existe deja. Donc ma question, est-il possible par une commande DB2 de lui indiquer que le prochain enregistrement doit avoir le champs autoincrement 6 et non a 4 ? Merci par avance pour vos reponses ! |
|
|
00
|
|
|
#2 |
![]() ![]() |
S'il recommence à un c'est que la table a été recréé. Dans ce cas, il semble judicieux lors de la création de définir comme valeur initiale de l'autoincrément une valeur supérieure à la plus grande valeur du backup que tu comptes intégrer dans la table.
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() |
Re,
C'est un exemple, dans mon cas j'ai deja des enregistrements dans la table. Comme je suis sous version 7, je n'ai pas acces au ALTER table ALTER colonne RESTART WITH MAX(champs auto increment)+1 Si je fait des INSERT j'ai une erreur mais.... DB2 incremente quand meme son compteur de cle auto-increment donc: Dans mon exemple j'ai aa bb [1] [test] [2] [bobo] [3] [nouveau] [4] [test2] [5] [bobo2] Avec me cle auto-increment a 4, si je refait un insert j'aurais une erreur, mais DB2 incrementera son compteur, je suis donc a 5, je refais un insert, je suis maintenant a 6 et la si je refais un INSERT ca marche, il me cree un enregistrement avec aa=6. C'est la seule solution que j'ai trouve sous version 7, l'autre etant de sauvegarder la table, de la dropper, de la recreer en precisant la valeur du champs auto-increment de depart, et de la reremplir en y inserant les enregistrements sauve dont l'id est inferieur a celui preciser lors de la recreation de la table. Voila, @++ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com