JavaDB: Is het mogelijk om auto-increment offset op bestaande tabel aan te passen?

stemmen
1

Is het mogelijk om de auto-increment offset op een reeds bestaande tafel met JavaDB veranderen?

Ik heb een probleem, waar het invoegen van nieuwe records meestal (maar niet altijd) er niet in slaagt met een fout klagen over het gebruik van een bestaande sleutel (mijn auto-increment kolom). Om deze database te vullen, nam ik een dump van een andere database (MySQL) en gebruikte een JavaDB opgeslagen procedure om ze allemaal te voegen in de overeenkomstige JavaDB tafel. Mijn theorie is dat het invoegen van deze gegevens gekopieerd van de bestaande ID's van de MySQL tabel. Nu is de auto-increment functionaliteit is het uitdelen van de bestaande ID's. Ik denk expliciet instelling de offset om een ​​aantal grote aantal zal de auto-increment weer aan het werk.

De vraag is gesteld op 09/12/2008 om 22:47
bron van user
In andere talen...                            


2 antwoorden

stemmen
1

Zelfs als het niet een direct antwoord op de vraag: Met MySQL, kunt u doen

ALTER TABLE my_little_table AUTO_INCREMENT =2000

om de auto increment waarde in te stellen.

antwoordde op 19/11/2010 om 14:18
bron van user

stemmen
0

Ik weet niet hoe om direct te veranderen de offset, maar ik erin geslaagd om dit op te lossen door:

  1. Het veranderen van de increment bedrag X (1 miljoen in mijn geval).
  2. Het invoegen van een dummy record.
  3. Het verminderen van de toename bedrag terug naar 1.
  4. de dummyrecord wissen.

Ik gebruikte deze SQL-instructie aan het increment bedrag te wijzigen:

ALTER TABLE tbl ALTER COLUMN col SET INCREMENT BY x
antwoordde op 09/12/2008 om 23:42
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more