mysql 两个表的内部联接存在语法错误

mysql syntax error with inner join on two tables

我有这个 sql 查询:

update edi_file_steps 
set 
    table_A.user_id= table_B.id ,
    table_A.message= SUBSTRING_INDEX(table_A.message,'[',1)
FROM 
    edi_file.steps AS table_A INNER JOIN GU_User as table_B
where 
   message LIKE '%Downloaded%'AND table_B.login = 'Jack'

但我收到 mysql 语法错误。我的语法有问题吗? 我正在使用 mysql 5.7.

您不能在 UPDATE 查询中使用 FROM,您在 UPDATE 语句后指定 table:

UPDATE edi_file_steps table_A
INNER JOIN GU_User AS table_B
SET 
    table_A.user_id= table_B.id ,
    table_A.message= SUBSTRING_INDEX(table_A.message,'[',1)
WHERE 
    message LIKE '%Downloaded%'AND table_B.login = 'Jack'