mysql更新列内连接另一个表

时间:2014-04-17 23:57:19

标签: mysql sql

我尝试根据另一个表的字段更新字段。这是代码:

UPDATE h 
SET h.strength = c.strength 
FROM hesters AS h 
INNER JOIN campers AS c 
ON h.camper_id = c.id

获取"#1064 - 您的SQL语法出错;"

我的代码基于这个答案here

有人发现语法错误吗?

3 个答案:

答案 0 :(得分:1)

我不知道为什么上一个链接答案的代码不起作用,但这是我最终要使用的内容,来自UPDATE上的mysql文档(搜索“join”)。< / p>

UPDATE hesters AS h,campers AS c 
SET h.strength = c.strength 
WHERE h.camper_id = c.id

答案 1 :(得分:0)

尝试做类似的事情:

UPDATE hesters AS h 
INNER JOIN campers AS c 
ON h.camper_id = c.id
SET h.strength = c.strength 

<强> 更新

这适用于sqlfiddle

答案 2 :(得分:0)

您需要在JOIN条款之前放置SET条款,并且您的h别名需要在开头设置:

UPDATE hesters AS h 
INNER JOIN campers AS c 
ON h.camper_id = c.id
SET h.strength = c.strength