Ciao Nicyork
premetto che non conosco MySql e non ho un ambiente di test per effettuare una verifica, ma con SQL un problema del genere si verifica se uno dei due campi della seconda tabella è null, in quanto la concatenazione di stringa, se uno dei valori è null, ritorna sempre null e quindi fallisce l'update.
In SQL puoi usare la funzione
ISNULL ( check_expression , replacement_value )
dove check_expression è il campo del db che può essere nullo e
replacement_value è il valore da ritornare,
nel tuo caso, se fosse SQL, sarebbe
ISNULL(Tab2.Campo2, "")
Adesso non ti resta di verificare se la funzione è la stessa anche per MySQL
Ciao