Results 1 to 6 of 6

Thread: [SQL] Resettare le chiavi delle tabelle

  1. #1

    Default [SQL] Resettare le chiavi delle tabelle

    Il problema è plain&easy
    Abbiamo una tabella con chiave primaria auto-incrementale, cancelliamo un tot di record. Ora supponiamo di voler inserire dei nuovi record, come faccio a far capire al dbms che deve utilizzare le chiavi dei campi che ho cancellato prima di crearne delle nuove?

    Grazie geniacci

    MMO? Grazie, ho smesso
    On WoW: Caswallon lvl 70 Affliction Warlock - Crushridge Alliance
    On Daoc USA: Caswallon ThePuppeteer lvl 50 Cabalist 4Lx - Merlin Albion $old
    On Daoc ITA: Caswallon Netwalker lvl 50 Matter Cabalist - Vortigern Albion

  2. #2
    Master Chief Petty Officer Rise-the-Sky's Avatar
    Join Date
    Sep 2004
    Posts
    2.485

    Default

    Quote Originally Posted by Caswallon View Post
    Il problema è plain&easy
    Abbiamo una tabella con chiave primaria auto-incrementale, cancelliamo un tot di record. Ora supponiamo di voler inserire dei nuovi record, come faccio a far capire al dbms che deve utilizzare le chiavi dei campi che ho cancellato prima di crearne delle nuove?
    Grazie geniacci
    Devi memorizzarti la chiave + bassa che hai cancellato e poi impostare con Setval('nome_sequence','valore_futura_nextval') la sequence in modo che il valore che ti restituirà come nextval sia quello.

    Questo funziona certamente x PostgreSQL. Su un altro DBms(tu non hai parlato di che cosa usi ) va provato ma sicuramente se non identica la soluzione è simile.
    spamm is life.

  3. #3

    Default

    Usano mySQLfront... cmq ora lo faccio provare... alla fine non sono io che mi occupo dei database

    MMO? Grazie, ho smesso
    On WoW: Caswallon lvl 70 Affliction Warlock - Crushridge Alliance
    On Daoc USA: Caswallon ThePuppeteer lvl 50 Cabalist 4Lx - Merlin Albion $old
    On Daoc ITA: Caswallon Netwalker lvl 50 Matter Cabalist - Vortigern Albion

  4. #4
    Master Chief Petty Officer Rise-the-Sky's Avatar
    Join Date
    Sep 2004
    Posts
    2.485

    Default

    Quote Originally Posted by Caswallon View Post
    Usano mySQLfront... cmq ora lo faccio provare... alla fine non sono io che mi occupo dei database
    Se lavorate con mysql il comando corretto probabilmente allora sarà:

    mysql> ALTER TABLE nometabella AUTO_INCREMENT = X;

    Dove X ovviamente è la minore delle chiavi cancellate.
    spamm is life.

  5. #5

    Default

    Bella

    Thank you

    MMO? Grazie, ho smesso
    On WoW: Caswallon lvl 70 Affliction Warlock - Crushridge Alliance
    On Daoc USA: Caswallon ThePuppeteer lvl 50 Cabalist 4Lx - Merlin Albion $old
    On Daoc ITA: Caswallon Netwalker lvl 50 Matter Cabalist - Vortigern Albion

  6. #6

    Default

    Si ma ocio che se cancelli della roba "in mezzo" non è che puoi infilare il conteggio all'indietro e poi sperare che salti quando arrivi agli ID che già hai dentro...

    Tralasciando il fatto che è comunque concettualmente sbagliato il voler riscrivere un autoincrementale, ma ognuno è libero di farsi il software come piu' gli aggrada
    Jarsil, the Nervous Admin of [W] Forums
    Quote Originally Posted by Ipnotik
    non gli bastava averci tolto il nostro caro PD, ora ci tolgono pure l'ASD. Manca solo una coalizione di centrosx in italia chiamata LOL, e poi siamo al completo.

    Quote Originally Posted by spinoza.it
    Il premier: “L’Italia è vittima di un passato che non passa”. E di un dittatore con una ditta.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
[Output: 58.69 Kb. compressed to 49.61 Kb. by saving 9.09 Kb. (15.48%)]