Vous devriez juste faire la mise à jour à travers une jointure comme celle-ci
UPDATE
t1 INNER JOIN t2 ON t1.variant_id = t2.variant_id
SET t1.product_code = t2.value
WHERE t2.key_id = 10
AND t2.value IS NOT NULL
Dans ce cas, il n'est pas nécessaire de s'inquiéter des valeurs nulles, car la jointure interne ne sélectionnera que les lignes où le variant_id existe dans les deux tables.