Contatore chiave primaria

di il
6 risposte

Contatore chiave primaria

Carissimi,
ho fatto una query di accodamento per aggiungere alla vecchia tabella A (dati da mantenere), dati provenienti da una tabella B (dati da accodare).
La tabella A arriva a 625 come valore del campo Chiave primaria. Come mai dopo l'accodamento, il contatore dei dati accodati è partito da un valore molto alto tipo 100867, invece di partire da 626? C'è un errore?
Grazie

6 Risposte

  • Re: Contatore chiave primaria

    Nessun errore, sicuramente hai giocato con la Tabella A, cancellando ed inserendo e cancellando... ed il Counter memorizza il valore ugualmente.
    In ogni caso perchè lo reputi un problema...? La PK di tipo COUNTER non sarà mai un numero che garantisce una continuità di progressione, non è fatta per quello, deve garantire l'univocità e basta, e questo è il motivo per cui non riparte dall'ultimo valore ma memorizza l'ultimo Generato.
  • Re: Contatore chiave primaria

    Più che altro sorpreso dalla distanza tra un valore 625 e quello dei nuovi record a partire da 100826 ...
    Grazie Alex
  • Re: Contatore chiave primaria

    strambotto ha scritto:


    Più che altro sorpreso dalla distanza tra un valore 625 e quello dei nuovi record a partire da 100826 ...
    Grazie Alex
    Evidentemente hai "giocato" molto più di quanto pensassi...!

    Prova a fare un COMPATTA DATABASE e vedi se recupera, anche a me piacciono poco le cose non coerenti...
  • Re: Contatore chiave primaria

    Visto che l'argomento dell'accodamento su Access l'ho rinfrescato da pochissimo:

    non è che per caso riporti anche il campo ID della tabella B, invece di lasciar fare all'incremento automatico?
    La guida recita:
    Se si accodano i record a una tabella con un campo Numerazione automatica e si vogliono rinumerare i record accodati, non includere il campo Numerazione automatica nella query. Includere il campo Numerazione automatica nella query se si vogliono mantenere i valori originali del campo.
    Magari, come dice Alex, facendo parecchi test sulla tabella B, e poi ricopiando gli ID nella tabella A, ti porti dietro lo scostamento così grosso.

    È un'ipotesi, non sapendo come hai strutturato la query di accodamento.
  • Re: Contatore chiave primaria

    INSERT INTO Corsi ( CDL, corso, Anno, docente )
    SELECT [Corsi 2021-2022].CDL, [Corsi 2021-2022].corso, [Corsi 2021-2022].Anno, [Corsi 2021-2022].docente
    FROM Corsi, [Corsi 2021-2022];
    Ecco la query imputata ... come potete vedere non ho messo il campo contatore ID
  • Re: Contatore chiave primaria

    Infatti se la PK è Counter non devi metterlo...

    P.s. il nome di quei campi mi fa venire allergia... oltre che timore... nel 2022 cosa avrai campi chiamati 2021-2022...? Se così fosse rifare tutto.
Devi accedere o registrarti per scrivere nel forum
6 risposte