Back to top

Autore Topic: Problema inserimento in db  (Letto 1690 volte)

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Problema inserimento in db
« il: 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

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema inserimento in db
« Risposta #1 il: 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

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Problema inserimento in db
« Risposta #2 il: 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!!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema inserimento in db
« Risposta #3 il: 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
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline james81

  • Appassionato
  • ***
  • Post: 475
  • Sesso: Maschio
    • Mostra profilo
Re:Problema inserimento in db
« Risposta #4 il: 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?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema inserimento in db
« Risposta #5 il: 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
 
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif