Salve a tutti ragazzi ! Dovrei effettuare questa query :
1) Impostare a valore nullo il campo Codice_editore nella tabella Libri per tutte le tuple relative all’editore di nome 'Addison Wesley
e per farla ho fatto cosi :
mentre un mio amico che ha svolto gia' questo esercizio ha utilizzato questa :codice:UPDATE Libri SET Codice_editore = null WHERE Codice_editore IN ( SELECT Codice_editore FROM Editori WHERE Nome_editore = 'Addison Wesley' );
il problema è che la mia query non ha nessun effetto mentre se utilizzo la seconda query mysql mi da errore ! Qualcuno mi sa spiegare dove sbaglio e la differenza tra le due notazioni ?codice:UPDATE Libri SET Codice_editore = null WHERE Codice_editore = ( #[1]SELECT Codice_editore FROM Editori WHERE Nome_editore = 'Addison Wesley' ); [1]si usa l'operatore = in quanto stiamo implicitamente assumendo che non possano esistere due editori aventi lo stesso nome e quindi che la select selezioni un solo codice, altrimenti avremmo usato IN */

Rispondi quotando