Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [MySQL]Esportare dati da una tabella ad un'altra con phpMyAdmin

    Ho due tabelle con dei campi uguali, però con contenuti diversi, una piu vecchia (tabella_A) e l'altra nuova (tabella_B). Nella "Tabella_B" sono presenti dei records mancanti nella "Tabella_A". Vorrei mettere i records nuovi, presenti nella "Tabella_B" sulla "Tabella_A”. La metodologia sarebbe esportare i dati dalla “Tabella_B”, creando un file .sql, e importare nella “Tabella_A”, usando, ad esempio, phpMyAdmin.
    Il problema è che ho il campo id (nelle due tabelle) che sono “autoincrement” e coincidono (l'id, ma non il contenuto). Quindi, quando faccio l’importazione se sostituiscono, anche se i contenuto è diverso. Non voglio sostituirli, ma inserire nuovi record. Come si fa?
    Luiz

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se ho ben capito ti basta un'unica query

    codice:
    insert into tabella_a (elenco_campi_tranne_id)
    select tab_b.campo1,tab_b.campo2,ecc (cioè tutti i campi tranne id)
    from tabella_b as tab_b
    left join tabella_a as tab_a
    on tab_a.id = tab_b.id
    where tab_a.id is null
    Fai le prove su una copia di backup per sicurezza.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    37
    Ciao, scrivo qui perchè il mio problemi è simile a quello trattato qui.
    Io ho 2 database identici nella struttura e vorrei sapere come esportare un singolo campo di una tabella ed importarlo nell'altro database.
    In pratica nella tabella "prodotti" c'è il campo "quantità", io vorrei esportare solo questo campo ed importarlo nella tabella "prodotti", campo "quantità" dell'altro database.

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Fammi capire. Ma la tabella nel db di destinazione è già popolata ed esiste un campo identificativo comune tra le due tabelle per fare l'aggiornamento?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    37
    I database sono identici, uno è di un sito italiano , l'altro sito spagnolo.

    La tabella "prodotti" è costituita da vari campi tra cui il campo "quantità" che regola le quantità dei prodotti man mano che vengono venduti.

    A me servirebbe che SOLO questo campo fosse per così dire in comune ai 2 database ma non credo sia possibile e quindi ho pensato di esportare giornalmente questo campo ed importarlo nell'altro database in modo da evere in entrambi i database le stesse quantità prodotti.

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    update dbsorgente.tabella,dbdestinazione.tabella
    set dbdestinazione.tabella.campo = dbsorgente.tabella.campo
    where dbdestinazione.tabella.id = dbsorgente.tabella.id

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    37
    Ti ringraqzio per l'aiuto, questo codice va scritto come query nel pannello di amministrazione di phpmyadmin?
    Come avrai capito non sono praticissimo di database, e ti chiedo, se hai capito il mio problema, il metodo che ho pensato per risolverlo (esportazione e importazione del campo quantità) è l'unico o è possibile rendere questo procedimento piu' facile ed automatico con l'utilizzo di uno script in php per esempio.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    La query puoi lanciarla da phpmyadmin.

    Una volta che aggiorni una tabella lanci la query per "sincronizzarla" con l'altra

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    37
    Originariamente inviato da nicola75ss
    codice:
    update dbsorgente.tabella,dbdestinazione.tabella
    set dbdestinazione.tabella.campo = dbsorgente.tabella.campo
    where dbdestinazione.tabella.id = dbsorgente.tabella.id

    Partendo dai 2 database, database_italia e database_spagna , tabella "ps_product" , campo "quantity" la query diventa :

    update database_italia.ps_product,database_spagna.ps_prod uct
    set database_spagna.ps_product.quantity = database_italia.ps_product.quantity
    where database_spagna.ps_product.id = database_italia.ps_product.id

    non ho capito all'ultimo rigo, id cosa è? per il resto va bene?

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    id è l'identificativo di ogni singolo record, solitamente il campo definito come chiave primaria auto incrementante.

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.