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

    [MYSQL PHP] come rimpiazzare una riga nel Db?

    ciao a tutti
    ho un problema che ho paura possa compromettere tutto il lavoro fatto fino ad ora:

    ho un database costituito da diverse tabelle. per ogni nuovo utente registrato aggiungo nelle tabelle una nuova riga contenente le varie informazioni.

    se un utente cancella la sua registrazione al sito o cancella i contenuti della tabella madre rimane una riga vuota all'interno di tutte le tabelle.

    come posso fare affinchè, ogni volta che c'è una riga vuota, questa venga rimpiazzata con la registrazione di un nuovo utente?

    penso che facendo così il database sia più compatto e fruibile e le ricerche meno stressanti..

    ma per fare questo devo cambiare tutta la procedura di registrazione? o c'è un modo per fare ciò a posteriori, cioè ogni volta che c'è una riga vuota allora il nuovo utente registrato occupa quella posizione lasciata libera. nel caso in cui invece non c'è alcuna riga vuota, il programma continui con la normale registrazione creando un id+1 e così via?

    spero di essere stato chiaro, ora come ora non posso postare il codice perchè non ce l'ho a portata di mano, ma come sempre è un questione prima di tutto teorica..
    grazie a tutti

  2. #2
    Con MySql gli id, se impostati correttamente in automatico, sono auto increment quindi non occupa i buchi ma continua ad aggiungerli..
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  3. #3
    il problema è proprio questo..
    forse dovrei fare un controllo sul db ogni volta che avviene una registrazione e se ci sono righe vuote rimpiazzarle, altrimenti continuare con la normale procedura. ma questo potrebbe rallentare la registrazione

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    24
    codice:
    OPTIMIZE TABLE should be used if you have deleted a large part of a table or if you have
    made many changes to a table with variable-length rows (tables that have VARCHAR,
    VARBINARY, BLOB, or TEXT columns).
    Deleted rows are maintained in a linked list and 
    subsequent INSERT operations reuse old row positions.
    You can use OPTIMIZE TABLE to reclaim the unused space and to defragment the data file.
    In pratica, secondo me, non ti devi preoccupare.
    Oppure dopo ogni cancellazione usi OPTIMIZE TABLE, ma l'id cancellato comunque non sarà recuperato.

  5. #5
    allora non me ne preoccupo.
    in ogni caso ora so che esiste questo optimize table, è come una deframmentazione dell'hard disk se ho capito bene, mi informerò..
    grazie a presto

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.