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

Discussione: aggiornare un campo

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    508

    aggiornare un campo

    non mi ricordo + come si fa...
    devo aggiornare un campo di una tabella con i valori di un'altra tab, con l'indice uguale

    codice:
    UPDATE mos_comprofiler SET mos_comprofiler.avatar = old_comprofiler.avatar WHERE mos_comprofiler.user_id = old_comprofiler.user_id
    con questa query mi da errore su where old_comprofiler tabella inesistente

    tnks
    Raul

  2. #2
    codice:
    UPDATE mos_comprofiler, old_comprofiler
    SET mos_comprofiler.avatar = old_comprofiler.avatar
    WHERE mos_comprofiler.user_id = old_comprofiler.user_id
    devi dichiarare la tabella.

    Questa query ti fa tutta la tabella. Ma questo lo saprai.


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

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    508
    in che senso tutta la tab?
    mi fai un es d cod?
    tnks
    Raul

  4. #4
    Originariamente inviato da riderjean
    in che senso tutta la tab?
    mi fai un es d cod?
    tnks
    Nel senso che fara' tutti i record che rispondo alla condizione di equi-join richiesta. Non c'e' alcun esempio da fare.

    Volevo solo sottolinearti la cosa. Se vuoi solo uno specifico id lo devi precisare aggiungendolo nel where.



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

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    508
    il problema è che mi da errore...
    quando dici "devi dichiarare la tabella" nel'sql cosa devo cambiare/aggiungere?
    Raul

  6. #6
    Originariamente inviato da riderjean
    il problema è che mi da errore...
    quando dici "devi dichiarare la tabella" nel'sql cosa devo cambiare/aggiungere?
    Ma non e' nulla di misterioso.

    In SQL non puoi utilizzare una tabella semplicemente riferendone un campo nelle condizioni, devi dichiararla nell'elenco delle tabelle che andrai ad utilizzare. A seconda del tipo di query andra' fatto in un determinato modo.

    nel caso dell'update puoi verificare la successione degli step.

    dichiari le tabelle interessate dal comando
    1) UPDATE mos_comprofiler, old_comprofiler

    definisci cosa deve cambiare. Si mette il nome come tabella.campo
    2) SET mos_comprofiler.avatar = old_comprofiler.avatar

    qui definisci dove applicare le modifiche
    3) WHERE mos_comprofiler.user_id = old_comprofiler.user_id


    L'osservazione che ti avevo fatto era che non essendoci altre restrizioni nella condizione where, il comando andrebbe ad agire su tutte le tuple di mos_comprofiler dove viene riscontrata l'uguaglianza tra i due id. Ho precisato questo perche' ritengo poco probabile che si voglia aggiornare "tutta" la tabella di fronte forse ad una variazione di un singolo record.

    tutto qui. Per quanto riguarda l'errore essendo questo un forum di umani credo che, tolto pochi eletti, gli altri non hanno capacita' divinatorie.

    In altre parole posta l'errore che ricevi se vuoi una risposta congruente.

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

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    508
    Messaggio di MySQL:

    #1064 - You have an error in your SQL syntax near '
    old_comprofiler SET mos_comprofiler.avatar = old_comprofiler.avatar WHERE mos_c' at line 1

    non è che è necessario usare JOIN?
    tipo (mi da errore di sintassi anche questo)
    codice:
    UPDATE old_comprofiler JOIN mos_comprofiler ON old_comprofiler.user_id = mos_comprofiler.user_id SET mos_comprofiler.avatar = old_comprofiler.avatar
    WHERE mos_comprofiler.user_id = old_comprofiler.user_id
    Raul

  8. #8
    Che versione usi di mysql?

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

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2000
    Messaggi
    508
    3.23.49
    Raul

  10. #10
    Originariamente inviato da riderjean
    3.23.49
    Allora ciccia.

    estrai il valore e poi aggiorni. Non esiste l'update con tabelle multiple prima della versione 4.0.4

    Sorry...


    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.