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

    [PHP - MySql] Problemi con i record

    Salve a tutti.
    Ho un applicativo in PHP e Mysql.
    E' molto grande, gestisce almeno 1000 record e sta su un server linux.
    Continuamente aggiorno dati, elimino record, aggiungo nuovi record ecc. ecc.
    HO notato una cosa aprendo PhpMyAdmin:

    1) I record non sono ordinati.Come mai?

    2) Dopo aver inserito un utente con ID 900 ha scritto in maniera alternata (901 si 902 si 909 no).Il codice php scrive in due tabelle relazionate.In una ha scritto e in un'altra no.Ma non mi ha dato errori!! Come mai?

    Grazie a tutti per l'aiuto!!

  2. #2
    non è che tu sia stato molto chiaro cmq se ho capito bene il fatto che tu abbia 901 e poi 909 anzichè 902 dipende sicuramente dal fatto che il record 902 probabilmente lo avevi creato e poi cancellato e lo stesso il 903 etc.
    quando inserisci il db si ricorda l'ultimo record inserito e non va a vedere se esiste veramente oppure è stato cancellato

  3. #3
    sono d'accordo con te jamesbond, domanda esiste un modo per riusare i record canellati!! È solo una curiosità!!

    Ciao

    Michel
    PHP THE BEST

  4. #4
    dovresti togliere l'id autoincrementante e tutte le volte che vai ad inserire prima controlli gli id presenti e inserisci l'id che ti interessa....questo è un modo...ma ricorda che oltre che inutile e complesso ha il problema che se non ben fatto potrebbe sputtanare tutto inserendo un id identico ad uno inserito.
    e poi è del tutto inutile

  5. #5

    Re: [PHP - MySql] Problemi con i record

    Originariamente inviato da Antagonista
    Salve a tutti.
    Ho un applicativo in PHP e Mysql.
    E' molto grande, gestisce almeno 1000 record e sta su un server linux.
    Continuamente aggiorno dati, elimino record, aggiungo nuovi record ecc. ecc.
    HO notato una cosa aprendo PhpMyAdmin:

    1) I record non sono ordinati.Come mai?

    2) Dopo aver inserito un utente con ID 900 ha scritto in maniera alternata (901 si 902 si 909 no).Il codice php scrive in due tabelle relazionate.In una ha scritto e in un'altra no.Ma non mi ha dato errori!! Come mai?

    Grazie a tutti per l'aiuto!!
    quando cancelli dei record nelle tabelle MyISAM, lo spazio occupato da questi record non viene ottimizzato automaticamente, gli spazi lasciati vuoti vengono occupati da nuovi record. Quindi in mancanza di un ordinamento (order by) i dati con phpmyadmin ti vengono mostrati cosi come sono fisicamente presenti nella tabella.

    Per ottimizzare una tabella si usa OPTIMIZE TABLE tabella

    Le tabelle InnoDB invece non hanno bisogno di essere ottimizzate.

    per recuperare (meglio dire occupare) id lasciati vuoti si deve usare un modo esplicito di inserimento/modifica, indicare cioe' il num.dell'id da inserire/modificare che ovviamente NON deve gia' essere presente nella tabella.

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

  6. #6

    Re: Re: [PHP - MySql] Problemi con i record

    Originariamente inviato da piero.mac
    quando cancelli dei record nelle tabelle MyISAM, lo spazio occupato da questi record non viene ottimizzato automaticamente, gli spazi lasciati vuoti vengono occupati da nuovi record. Quindi in mancanza di un ordinamento (order by) i dati con phpmyadmin ti vengono mostrati cosi come sono fisicamente presenti nella tabella.

    Per ottimizzare una tabella si usa OPTIMIZE TABLE tabella

    Le tabelle InnoDB invece non hanno bisogno di essere ottimizzate.

    per recuperare (meglio dire occupare) id lasciati vuoti si deve usare un modo esplicito di inserimento/modifica, indicare cioe' il num.dell'id da inserire/modificare che ovviamente NON deve gia' essere presente nella tabella.
    esatto...inoltre occhio ad usare OPTIMIZE TABLE se poi lo stesso id lo usi per relazionare un'altra tabella

  7. #7

    Re: Re: Re: [PHP - MySql] Problemi con i record

    Originariamente inviato da jamesbond
    esatto...inoltre occhio ad usare OPTIMIZE TABLE se poi lo stesso id lo usi per relazionare un'altra tabella
    Questo comando non muove gli id.... compatta solo la tabella alla stregua di un defrag del disco eliminando gli spazi vuoti. Quindi le relazioni esistenti rimangono integre.

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

  8. #8
    non lo sapevo....non ho mai vuto la necessità di usarlo...tks

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 © 2024 vBulletin Solutions, Inc. All rights reserved.