使用另一个表和INNER JOIN更新表

时间:2019-02-02 16:54:33

标签: mysql sql inner-join

在MySQL上使用updateinner join时出现问题。

我需要使用另一个表来连接属性。

我的查询:

update cfc_registration
 set teams = concat(r.teams, " - ", u.firstname, " ", u.lastname)
 from cfc_registration as r
 inner join cfc_user as u
 on r.cfcUserId = u.id
 where r.cfcTournamentId = 5

错误消息:

 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from cfc_registration as r inner join cfc_user as u on r.cfcUserId = u.id whe' at line 3

2 个答案:

答案 0 :(得分:2)

不确定FROMINNER JOIN是否可以在更新查询中使用。尝试以下方法:

update cfc_registration r, cfc_user u
set teams = concat(r.teams, " - ", u.firstname, " ", u.lastname)
where r.cfcTournamentId = 5 and r.cfcUserId = u.id

答案 1 :(得分:1)

尝试一下

UPDATE cfc_registration as r
inner join cfc_user as u
on r.cfcUserId = u.id
and r.cfcTournamentId = 5 set teams = concat(r.teams, " - ", u.firstname, " ",    u.lastname)