Visualizzazione risultati 1 fino 7 di 7

Discussione: index phpmyadmin

  1. #1
    ruggi non è connesso Neofita
    Data registrazione
    05-12-2014
    Messaggi
    14

    Predefinito index phpmyadmin

    Buongiorno,
    non so molto di SQL e database, quindi chiedo aiuto a voi
    Ho creato una PRIMARY KEY (colonna id) con valore AUTO_INCREMENT, però ho notato che quando elimino un record e ne aggiungo uno dopo, l'id dl nuovo record non ritorna quello del record eliminato precedentemente ma quello successivo.
    Funziona bene, ma a me servirebbe che la colonna id riportasse il numero della riga corrispondente (es.: Se elimino un record, quelli lo succedono scalano tutti di uno il valore della colonna id e se aggiungo un record in mezzo alla mia tabella, quei record che succedono aumentano tutti di uno). Spero si possa fare, magari con particolare index o altro.
    Grazie mille.

  2. #2
    Guest

    Predefinito

    Auto Increment funziona così e non puoi farci nulla.
    Inoltre quello che vorresti prevede la revisione di tutti i record successivi e riassegnazione degli ID cosa questa che sembra semplice se si tratta del penultimo record, ma diventa impegnativa e critica (pensa agli accessi contemporanei) se il caso vuole che il recor cancellato sia seguito da 10, 100, 1000, 10000 o più record.

  3. #3
    ruggi non è connesso Neofita
    Data registrazione
    05-12-2014
    Messaggi
    14

    Predefinito

    Non c'è quindi una riassegnazione automatica degli ID da parte di MySQL?

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,709

    Predefinito

    Dipende cosa vuoi fare. Un modo per avere un campo "crescente" può essere:

    Codice:
    SET @I=0;
    SELECT *, @I:=@I+1 AS conteggio FROM nome_tabella;
    Ovvero usare una variabile (io l'ho chiamata "I") e incrementarla ogni volta di 1.

    Ciao!

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da ruggi Visualizza messaggio
    Non c'è quindi una riassegnazione automatica degli ID da parte di MySQL?
    No! E' solo un campo che si incrementa automaticamente di una unità (normalmente, ma può incrementarsi con passi differenti da 1) ad ogni record.

    Come ti chiede alemoppo, spiega melgio il tuo problema, magari esiste una soluzione rapida e di facile implementazione.

  6. #6
    ruggi non è connesso Neofita
    Data registrazione
    05-12-2014
    Messaggi
    14

    Predefinito

    Vorrei solo una colonna che riporti sempre lo stesso numero, come Excel: se elimino o aggiungo una riga, il numero della riga rimane sempre e comunque, giusto? Ecco vorrei che la mia colonna id riportasse il numero di riga a cui sto lavorando, senza cambiare se elimino o aggiungo record. Spero di essermi spiegato meglio.
    Grazie

  7. #7
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Spiega il risultato che vuoi ottenere, non come intendi implementarlo. Come ti ha già scritto Vplaza potrebbe esserci una soluzione più semplice ed appropriata, ma se ci descrivi come hai in mente tu di implementarla anziché descrivere il problema che vuoi risolvere non è possibile aiutarti efficacemente.
    A cosa ti servono questi ID? Cosa stai cercando di fare? Un editor di fogli di calcolo?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •