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