Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    duplicare tabella mysql

    Salve a tutti.

    devo poter effettuare una copia di backup del contenuto di una tabella in un'altra in modo automatico, tramite i comandi di script php

    sapete come è possibile effettuare un'operazione del genere?

    spiego in breve:

    tramite l'upload di un file csv, vado a riempire la tabella con i suoi dati, ma prima sono costretto a svuotare totalmente la tabella.
    Vorrei che prima di eliminare i dati, venisse creata una copia, così in caso di errore del file csv, ho sempre una copia di backup, ripristinabile in qualsiasi momento.

  2. #2
    fai una query... anzi due..

    1) drop table if exists doppione;

    2) create table doppione
    select * from tabella_da_copiare;

    ora la tabella doppione e' una copia "paraculo" della tua tabella da aggiornare.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    Innanzi tutto grazie epr la celere risposta

    quindi mi basta effettuare una query di select dalla tabella origine e fare una serie di insert nella tabella "paraculo" svuotata?? pensavo ci fossero dei comandi che eseguivano in automatico un backup di tabelle o DB

    ti spiego..magari mi sai consigliare una soluzione migliore.

    la tabella "principale" di cui voglio fare una copia di backup, è gestita dall'upload di un file csv, il cui contenuto inserisce i record nelle apposite colonne.
    questo upload può essere effetuato anche + volte alla settimana.
    Consigli una sola copia di backup, o magari tipo 5 copie, e arrivati al numero max....va a svuotare ed ed effettuare il backup nella tabella + vecchia?
    così da mantenere sempre le ultime 5 posizioni + recenti?

  4. #4
    Originariamente inviato da Gold34gl3
    Innanzi tutto grazie epr la celere risposta

    quindi mi basta effettuare una query di select dalla tabella origine e fare una serie di insert nella tabella "paraculo" svuotata?? pensavo ci fossero dei comandi che eseguivano in automatico un backup di tabelle o DB

    ti spiego..magari mi sai consigliare una soluzione migliore.

    la tabella "principale" di cui voglio fare una copia di backup, è gestita dall'upload di un file csv, il cui contenuto inserisce i record nelle apposite colonne.
    questo upload può essere effetuato anche + volte alla settimana.
    Consigli una sola copia di backup, o magari tipo 5 copie, e arrivati al numero max....va a svuotare ed ed effettuare il backup nella tabella + vecchia?
    così da mantenere sempre le ultime 5 posizioni + recenti?
    non devi fare "una serie di insert" .... un solo comando quello del punto 2 ti popola tutta la tabella.

    Come devi fare per i backup devi saperlo tu. Tu hai parlato di fare una copia. Fare un backup e' diverso dal fare una copia. Il backup genere un file .sql con dentro tutti i comandi per ricostruire tabelle e record. Una copia della tabella e' una tabella bis identica all'originale.

    Ci sono poi dei file .csv del tipo che devi caricare tu che contengono solo record. lo puoi fare con select ... INTO OUTFILE ... vedi la sintassi da usare nel manuale.

    http://dev.mysql.com/doc/refman/5.0/en/select.html

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    bhe si ovvio hai ragione, non sapendo come e da cosa è costituito il file csv è difficile rispondere a ciò che ti ho chiesto.

    il file csv generato da un gestionale che gestisce immobili (affito/vendita), comprende una serie di record dove ogni colonna (indice di ogni record) corrisponderà ad una colonna della tabella del db.

    l'utente finale che effettuerà l'upload del file, in automatico dovrà andare ad eliminare i dati della vecchia tabella e reinserire quelli nuovi (quelli del file csv).
    Per precauzione volevo tenermi una copia dei dati che vengono sostituiti, così in caso di bisogno posso sempre ripristinare il tutto in modo veloce.

    la domanda è:
    è giusto il metodo richiesto o pensi che sia + giusto effettuare un'altra operazione, tipo quella di creare una copia di backup "paraculo1.sql", "paraculo2.sql", ..., "paraculoN.sql"?
    Considera che ad ogni id della tabella (prevedo circa 100-150 righe) corrisponderà da un minimo di 3 ad un max di 9 immagini (quindi da 300 a 1350 immagini),
    che vengono create al momento dell'upload del file csv, quindi nel caso dovrei anche fare una copia di tutta la cartella e zipparlo "folder_paraculo1.zip", "folder_paraculo2.zip", ..., "folder_paraculoN.zip".
    Resto in attesa di ogni consiglio!

    Grazie mille per l'aiuto

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.