Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [mysql] - Update Set

  1. #1

    [mysql] - Update Set

    Ciao a tutti.

    Mi tocca aggiornare più campi della tabella book con i dati della tabella dati .

    La chiave è il campo ISBN

    Il codice per modificare il campo Titolo è questo, ma per aggiornare anche gli altri campi tipo Materia, Pagine etc.??

    I campi da aggiornare sono uguali sia nella tabella book che dati

    codice:
    UPDATE book 
    SET book.Titolo = (select Titolo from dati where book.ISBN = dati.ISBN)
    Questo è il codice che utilizzo per aggiornare il singolo campo.
    Spero stia facendo bene.

  2. #2
    Scusami, nel book.Titolo è vuoto?
    ..:: GSFLASH ::..
    HTTP://WWW.GSFLASH.IT
    MCTS - ACP - OCP - ECDL
    Ubuntu 7.10/OpenSuse 10.3/Vista Premium/MacOSX Leopard
    My authentic japanese name is 薗田Sonoda (garden field) 大河 Taiga (big river)

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    update book as b, dati as d
    set b.titolo = d.titolo,
         b.materia = d.materia,
         ....
    where b.isbn = d.isbn

  4. #4
    Grazie Nicola75ss

    ma ricevo il seguente messaggio:

    codice:
     #1064 - 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 'where b.ISBN = d.ISBN' at line 5
    La Versione MySQL: 5.0.45-community-log

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    non è che prima del where hai lasciato una virgola?

  6. #6
    Originariamente inviato da gsflash
    Scusami, nel book.Titolo è vuoto?
    no gsflash devo aggiornarlo con eventuali variazioni sui record già presenti.
    Anzi adesso che ci penso devo anche scoprire quali sono i record inseriti in più.

    E l'unico mezzo è confrontare le due tabelle e trovare i record che non hanno corrispondenza nell'ISBN.

  7. #7
    Originariamente inviato da nicola75ss
    non è che prima del where hai lasciato una virgola?
    Avevi ragione... Grazie
    Ma le righe interessate: 77 contro 747 totali..
    Why??

    Però in effetti forse sto sbagliando nell'impostazione del problema

    La nuova tabella dati contiene tutti i dati recenti compresi i nuovi record.
    Mentre la tabella book ha in più solo il campo img_libri

    Forse mi conviene fare il contrario..

    Cioè aggiungere il campo img_libri alla tabella dati e risolvo..

    Che ne dite??

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.