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

    [mysql] insert con select da stessa tab

    Salve a tutti, devo fare una query che inserisce alcuni valori in una tabella, di cui l'ultimo lo devo estrarre dalla stessa tabella (avendo l'id) posto un'esempio che a me non funziona.

    codice:
    conn.Execute("Insert into foto (foto, principale, id_tipo,rif_tipo,thumb) values ('"&percorso&foto&"','si','"&Agrid&"','locale', Select thumb from foto where id = "&id&")")
    dove sbaglio?
    grazie, ciao.

  2. #2
    Non mi risulta che tu possa fare il tutto in un unico passaggio...
    se la select restituisse più valori e non uno solo?

    Recupera il valore della thumb e poi fai l'sql di insert

  3. #3
    Grazie per la risposta CountZero.

    La select restituisce solo un valore in quanto viene passato il parametro id che è un valore univoco nella tabella.
    Ho controllato nel form e si può fare, ma non ho trovato il mio caso specifico.
    Tuttavia ho provato ad adattare la query, ma senza risultati.

  4. #4
    Che nel tuo caso ritorni un valore solo non lo metto in dubbio.
    Ho il dubbio che la sintassi sql non ti permetta di fare una cosa del genere.

    che messaggio di errore ti viene restituito?

    Procedi per gradi eventualmente, fai l'estrazione con la select, metti il tutto in una variabile e poi fai l'insert... più semplice di così :-)

  5. #5
    Mi da quest'errore:

    [TCX][MyODBC]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''/Immaggini/foto/miaDir/Tramonto','si','42

    "immaggini (con due g ) /foto ecc... " corrisponde a questa parte della query: '"&percorso&foto&"'

    Il metodo che mi hai spiegato tu, è più che giusto, ma se esiste un metodo più snello e pratico, vorrei imparare ad utilizzarlo.

    Grazie ancora per la tua disponibilità

  6. #6
    Originariamente inviato da DarioMarco
    You have an error in your SQL syntax;
    Mi sembra che ti stia dicendo che vi è un errore di sintassi, per cui il comando sql che hai scritto non va bene, o meglio come lo hai scritto da errore.

    per curiosità prova a sostituire la variabile id con un valore fisso, eliminando gli apici e le e commerciali, scrivendo il comando a "mano"

    Se funziona ho torto e il problema è di come lo hai scritto con la variabile, se non funziona probabilmente non è la sintassi giusta.

  7. #7
    funziona, però nel db mi inserisce al posto del record la query

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.