Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySQL] il mio campo "id"...auto_increment

    salve ragazzi...mi son trovato davanti ad un problema al quale non ho saputo trovare nè una spiegazione, nè tantomeno una soluzione...

    Ho creato una sezione Prodotti per un sito, e ho inserito tutte le informazioni dei prodotti in un database MySQL...ogni prodotto ha dei campi nel db, tra i quali l'immancabile campo ID...l'ho impostato in "auto_increment", in modo che ogni volta che aggiungo un prodotto, aumenta di 1 unità...

    ok, conclusa la premessa passerei al dunque...
    all'inizio ho fatto delle prove, ovvero ho creato, modificato e cancellato delle schede prodotti...ma ora che ho finito di impostare il tutto...se aggiungo un prodotto dopo quello con id 36...non mi mette 37...ma (per esempio) 49...insomma...mi salta una decina di numeri...come è possibile??
    il motore MySQL non dovrebbe rilevare l'ultimo id e sommare uno? a me sembra invece che tiene in memoria l'ultimo id non tra quelli memorizzati, ma dall'inizio della creazione del database dei prodotti...allora ho pensato: facile, svaporizzo il database e lo ricreo...e il gioco è fatto! ...
    ...
    Macchè!! ;-)

    non è cambiato nulla....ora ogni volta che aggiungo una scheda prodotto devo andare in phpMyAdmin e modificare manualmente l'id (ah...tra l'altro...come è possibile che da una interfaccia in php non riesco a modificare il campo id ma soltanto gli altri?)

    spero di non essermi dilungato troppo...e di trovare risposta da parte di qualcuno... ;-)

    Ringrazio anticipatamente e...se volete dare un'occhiata a come ho impostato la sezione prodotti...(se può servire)
    il sito l'ho messo online qui:
    www.medicarubino.abbiweb.it

    Ciaooo!!

  2. #2
    auto increment incrementa sempre, e' fatto apposta. Se dopo aver fatto delle prove vuoi ripartire da zero devi svuotare la tabella con TRUNCATE TABLE tabella. Questa svuota e inizializza pure l'indice autoincrement.

    Si puo' spostare indietro, ma solo fino al primo valore successivo all'ultimo id inserito. Lo puoi fare con ALTER TABLE....

    Ma l'id non dovrebbe mai essere modificato. Sia per relazioni esterne, link ecc... che potrebbero diventare inconsistenti mancando il riferimento dell'id, sia per il significato intrinseco che ha l'id, che e' quello di identificare un record in modo univoco ed essere dissociato dal contenuto della tupla.

    Se ti serve un indice numerico da manipolare fanne uno che ti gestirai come credi.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3

    GRAZIE!

    perfetto, grazie mille!!

    hai risolto i miei dubbi...e problemi

    Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.