Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52

    Trasferire dati fra tabelle diverse

    Salve,
    Vorrei copiare il contenuto di una tabella 'provvisoria' in una tabella 'nomi_ass'. Le due tabelle hanno gli stessi campi, ma in più la tabella 'nomi_ass' contiene il campo 'data' (vuoto - che potrò poi modificare). Inserendo i dati con la query sottostante, essi vengono accettati la prima volta (nomi_ass vuota) ma una seconda volta ricevo l'errore 'Duplicate entry '0' for key 1'. Cioè l'identity è già presente.
    $sql_query="INSERT INTO nomi_ass(id,a,b,c,d) SELECT id,a,b,c,d FROM provvisoria";
    Ho provato con UPDATE ma ricevo errore di conteggio colonne, poiché in 'nomi_ass' c'è il campo 'data'. Non so come fare!
    Qualcuno può darmi una mano?
    Ripeto! devo accodare l'unico record della tabella 'provvisoria' nella tabella 'nomi_ass' che differisce da 'provvisoria' per avere in più il campo 'data'.
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    240
    ma ogni volta ricopi tutti i dati????

    se cosi svuota la tabella prima di effettuare un nuovo insert!

    Se invece vuoi fare solo un insert
    fai prima una
    select count(id) from provvisoria where id=[valore]
    e se il risultato è maggiore di 0 fai l'aupdate altrimenti fai l'insert

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    Originariamente inviato da shadir
    ma ogni volta ricopi tutti i dati????
    I dati in 'provvisoria' sono ogni volta diversi, è un elenco di circa 50 nomi con con altri dati.
    Io devo conservare i nomi scelti nella tabella 'nomi_ass' inserendo (successivamente) anche la data di registrazione per future manipolazioni.
    La tabella 'nomi_ass' sarà unita con 'Inner join' ad un'altra tabella (delibere), ma questa volta senza problemi perché ci sarà il campo 'data' in comune.
    Credo che bisognerà usare UPDATE (o altro), ma come?

  4. #4
    mediamo se ho capito tu hai una tabella

    provvisoria
    |
    -id
    -campo1
    -campo2
    -campo3
    -campo4
    -ecc

    poi hai la tab nomi_ass con gli stessi campi in più anche un campo chiamato data

    nome_ass
    |
    -id
    -campo1
    -campo2
    -campo3
    -campo4
    -ecc
    -data
    vuoi prendere un determinato record dalla tabella provvisoria e aggiungerla in quella nome_ass

    bhè fai prima una query SELECT e ti prelevi tutte le info poi con una INSERT TO le aggiungi...se puoi copiare parti di codice per capire l'errore che fai

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    Originariamente inviato da SuperSavio

    vuoi prendere un determinato record (il solo record esistente) dalla tabella provvisoria e aggiungerla in quella nome_ass

    bhè fai prima una query SELECT e ti prelevi tutte le info poi con una INSERT TO le aggiungi...se puoi copiare parti di codice per capire l'errore che fai
    Sì, ma qual è la sintassi della query SELECT e quale quella di INSERT INTO?
    Io ho usato, come scritto
    $sql_query="INSERT INTO nomi_ass(id,a,b,c,d) SELECT id,a,b,c,d FROM provvisoria";
    ma ottengo un errore quando 'nomi_ass' non è vuota.

  6. #6
    pre prelevare i dati fai
    Codice PHP:
    $sql "SELECT * FROM nome_tab_provvisoria";
    $query mysql_query($sql) or die(mysql_error());
    $row mysql_fetch_array($query); 
    poi per inserirli fai
    Codice PHP:
    $sql "INSERT INTO nome_ass ('id','primocampo','secondocampo','ecc') VALUES (NULL, '".$row['primocampo']."', '".$row['secondocampo']."', '".$row['ecc']."')";
    $query mysql_query($sql) or die(mysql_error()); 
    vuolà.....id penso che sia autoincremento quindi ho messo NULL perchè se la vede il db poi fai per ogni campo un $row['nomecampo'] nel values e il gioco è fatto

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    OK!
    Grazie

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.