Si está utilizando SQL Server, tiene un JOIN
mal formado . Y alias de tabla muy pobres. Quizás esto haga lo que quieres:
update fs
set user_id = u.id,
message = SUBSTRING(fs.message, 1, CHARINDEX('[', fs.message)-1)
from edi_file_steps fs INNER JOIN
GU_User u
on u.login = SUBSTRING(fs.message, CHARINDEX('[', fs.message)+1, len(fs.message)- CHARINDEX('[',fs.message)-1 )
where message LIKE '%Downloaded%' ;
EDITAR:
En MySQL, esto sería:
update edi_file_steps fs INNER JOIN
GU_User u
on fs.message like concat('%[', u.login, ']%')
set user_id = table_B.id,
message = substring_index(fs.message, '[', 1)
where message LIKE '%Downloaded%' ;