Joomla.it Forum

Non solo Joomla... => Database => : james81 13 Apr 2010, 15:48:56

: Problema inserimento in db
: james81 13 Apr 2010, 15:48:56
Ciao, ho un problema con una tabella, praticamente tramite uno script vado a controllare se i dati inseriti all'interno sono gia presenti se si faccio un update altrimenti un insert il problema e' che se ho 100 prodotti gia'inseriti e ne devo 101 non e'che quello in piu'me lo inserisce alla fine (con ID 101 ) ma me lo ritrovo in ordine inserimento non progresivo seguendo l' ID del databse, in piu' mi trovo spesso e volentieri dei stai in eccesso (visibile da mysql) da cosa puo' dipendere??
graciess
: Re:Problema inserimento in db
: mmleoni 13 Apr 2010, 19:49:35
scusa ma si fa abbastanza fatica a capire che cosa hai scritto. :(

in ipotesi che id sia un campo auto increment, allora se l'ultimo valore inserito è 100 il prossimo sarà 101. dove viene messo? nel primo spazio fisico disponibile, quindi anche al posto di un record cancellato, non viene messo in coda perché è inutile sprecare spazio libero già esistente.
lo spazio usato in eccesso dipende dallo spazio lasciato libero in seguito alla cancellazione dei records: dai un optimize alla tabella.

ciao,
marco

: Re:Problema inserimento in db
: james81 13 Apr 2010, 22:46:22
infatti ID e' auto increment:

ES ho 50,51,52,53,54

faccio il mio update ed insert e mi ritrovo questo:

50,51,55,53,54

giustamente come dici te il record nuovo viene inserito nel vecchio record cancellato, il problema e' che facendo un update o un insert non dovrebbero concellarsi record, ma solo aggiornarsi o aggiungersi!!
: Re:Problema inserimento in db
: mmleoni 14 Apr 2010, 20:52:38
ovviamente c'è un delete da qualche parte. abilita il debug per controllare e poi prova a verificare il flusso del codice.

ciao,
marco
: Re:Problema inserimento in db
: james81 15 Apr 2010, 10:52:19
umh...di delete non ce ne sono, pero' ho notato che ogni volta che lancio lo script mi si formano dei dati in eccesso (e li ci sono le vetture che non trovo piu') devo ottimizzare la tabella e si risistema tutto.

Il problema e' che mi da' questo problema ad ogni inserimento.

Perche?
: Re:Problema inserimento in db
: mmleoni 15 Apr 2010, 12:41:18
o c'è un delete, o nell'update alteri anche la primary key, io non vedo altre soluzioni (considero un problema di mysql come un'eventualità abbastanza remota).

abilita il debug e verifica attentamente le queries effettuate nella pagina; ricordati di bloccare il redirect in coda ai metodi del controller.

ciao,
marco