Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    duplicare i record con mysql

    Ho una tabella di un db che contiene, per esempio, 10 righe aventi un campo in comune, io vorrei poter duplicare queste 10 righe così come sono cambiando però il valore di quel campo.

    nome valori
    pippo a
    pippo 54
    ...
    pippo e8

    vorrei che diventasse
    pippo a
    pippo 54
    ...
    pippo e8
    pluto a
    pluto 54
    ...
    pluto e8

    è possibile farlo in SQL?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Veramente non ho capito nulla !!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259

    Re: duplicare i record con mysql

    Originariamente inviato da james
    Ho una tabella di un db che contiene, per esempio, 10 righe aventi un campo in comune, io vorrei poter duplicare queste 10 righe così come sono cambiando però il valore di quel campo.
    - Tabella
    - 10 righe con campo comune (intendi valore del campo vero?)
    duplicare
    - ok, ora mi sono perso


  4. #4
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    Re: Re: duplicare i record con mysql

    Originariamente inviato da Dennis
    - Tabella
    - 10 righe con campo comune (intendi valore del campo vero?)
    duplicare
    - ok, ora mi sono perso

    premetto che l'esempio non è perfettamente calzante, anzi, va contro le regole di normalizzazione dei db relazionali, però purtroppo la struttura non è stata progettata da me quindi devo trovare una soluzione.
    Immaginiamo di avere un db con i campi, nome_persona e caratteristica, in cui caratteristica è totalmente generica e non predeterminabile, quindi avrò, per una persona, una cosa del genere:
    nome caratt.
    pippo alto
    pippo grasso
    pippo brutto
    pippo stitico
    pippo simpatico

    ora vorrei poter duplicare tutte le istanze inerenti a pippo, ed assegnarle a pluto, così da ottenere una cosa del genere:
    pippo alto
    pippo grasso
    pippo brutto
    pippo stitico
    pippo simpatico
    pluto alto
    pluto grasso
    pluto brutto
    pluto stitico
    pluto simpatico

    io so già che qualsiasi persona inserirò dovrò prendere a modello tutte le istanze relative a pippo, quindi devo duplicarle assegnando al campo nome quello che voglio, così da avere un clone di pippo avente come differenza solo il nome. Ci avete capito qualcosa?

  5. #5
    Fai una select e immetti il risultato di caratteristiche in un array, poi scorri l'array con foreach e reinserisci con il resto dei nuovi dati.

    Direttamente in sql non puoi. Non si possono copiare dati dalla stessa tabella/colonna per fare l'insert/update.

    Oppure potresti fare una tabella con i dati di base da usare per sola copia, e poi fare INSERT ... SELECT dei campi da replicare.


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

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Fossi in te creerei una tabella per le persone e una per le caratteristiche. Cosi puoi aggiugere delle caratteristiche senza dovere inserirle di nuovo nella tabella delle persone.

  7. #7
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da piero.mac
    Oppure potresti fare una tabella con i dati di base da usare per sola copia, e poi fare INSERT ... SELECT dei campi da replicare.

    Questa soluzione è attuabile con il solo SQL o dovrei comunque usare uno script? Se sì come faresti?

  8. #8
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da badaze
    Fossi in te creerei una tabella per le persone e una per le caratteristiche. Cosi puoi aggiugere delle caratteristiche senza dovere inserirle di nuovo nella tabella delle persone.
    Fossi in me non avrei mai progettato una cosa del genere, ma non posso modificare la struttura.

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Non è una modifica.... E' un'aggiunta !!!!


  10. #10
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da badaze
    Non è una modifica.... E' un'aggiunta !!!!

    gli script che leggono le caratteristiche non li posso modificare, se sposto le caratteristiche in un'altra tabella non funziona + nulla.

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.