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

    Accodare una tabella ad un'altra in mySql

    Salve,

    vorrei aggiungere i record di una tabella ad un'altra avente la stessa struttura, accodandoli di seguito a quelli già presenti nella seconda tabella. Con esporta ottengo la query della 1° tabella con tutti gli insert into ecc ... che potrei subito utilizzare, se non fosse che tutte e due le tabelle hanno il campo id (autocontatore) e alcune id si sovrappongono.
    Come posso fare?

    Grazie.

  2. #2
    INSERT INTO .... SELECT

    escludendo il campo id della tabella che importi.


    Per la sintassi il manuale.


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

  3. #3
    Grazie,
    però per farlo la query assume questa forma:
    INSERT INTO 'nome_tab' ('campo1', 'campo2', ecc...) VALUES (value1, value2 ecc..);

    E esportando una tabella da mySql ho l'INSERT totale,

    INSERT INTO nome_tab VALUES (tutti i valori);

    Quindi dovrei aggiungere manualmente dopo il nome_tab l'indicazione dei campi da inserire (campo1, campo2 ecc...), e fare questo per centinaia di record non è molto pratico.
    Inoltre dovrei cancellare dalle stesse centinaia di record il valore dell'id da VALUES, sempre a mano.

    Sai se c'è un modo per automatizzare queste operazioni?

    Grazie

  4. #4
    Originariamente inviato da gugheli
    Sai se c'è un modo per automatizzare queste operazioni?
    Grazie
    Puoi usare il replace di un editor.

    Ma INSERT .... SELECT rimane la piu' comoda. Lo scrivi una volta sola e ti trasferisce tutta la tabella. Oppure qualche interfaccia grafica che permetta l'export di determinati campi. In pratica tu devi solo evitare di trasferire l'id autoincrement.


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

  5. #5
    Ti ringrazio per la sollecitudine,
    però non devo solo evitare di trasferire il campo id (il che è facile) ma anche inserire i record privi di id in una tabella che il campo id lo ha. Quindi devo avere una query che specifichi di iniziare ad inserire i dati dal secondo campo; cosa che so fare manualmente (dopo INSERT INTO nome_tab indico i campi da riempire) ma non in automatico per tanti record.

    Scusa se insisto con l'argomento, ma non sono ancora molto abile con i database :-)

  6. #6
    Originariamente inviato da gugheli
    Ti ringrazio per la sollecitudine,
    però non devo solo evitare di trasferire il campo id (il che è facile) ma anche inserire i record privi di id in una tabella che il campo id lo ha. Quindi devo avere una query che specifichi di iniziare ad inserire i dati dal secondo campo; cosa che so fare manualmente (dopo INSERT INTO nome_tab indico i campi da riempire) ma non in automatico per tanti record.

    Scusa se insisto con l'argomento, ma non sono ancora molto abile con i database :-)
    Se non indichi condizioni INSERT ... SELECT ti copia tutta la tabella con una query unica. Provalo su una tabella vuota... Fai una copia di quella di destinazione. Poi esegui il TRUNCATE TABLE tabella
    in modo da svuotare e mantenere la struttura. Poi provi a travasare nella tabella di prova e vedi il risultato.


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

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.