2016-04-14 55 views
0

下午好,更新使用PHPMYADMIN

我想更新表使用另一个表中的价格数据但是我得到一个错误,使用内部连接。我相信它的东西非常愚蠢,但是花了我一天中最好的时间来请求帮助。

如果我做了下面的SELECT语句来测试我的内连接语法的作品,因为它应该

SELECT * 
FROM polaracc_osrs_property_field_value 
INNER JOIN polaracc_osrs_properties 
    ON polaracc_osrs_property_field_value.pro_id = polaracc_osrs_properties.id 
WHERE polaracc_osrs_property_field_value.field_id =112 

然而,当我再尝试从一个表运行使用价格的更新语句来填充第二个我得到以下错误

1064 - 您的SQL语法错误;检查 对应于你的MySQL服务器版本正确的语法使用 附近“FROM polaracc_osrs_property_field_value INNER JOIN polaracc_osrs_properties”在行手册3

用于更新语句的语法如下

UPDATE polaracc_osrs_property_field_value 
SET polaracc_osrs_property_field_value.value_integer = polaracc_osrs_properties.price 
FROM polaracc_osrs_property_field_value 
INNER JOIN polaracc_osrs_properties 
    ON polaracc_osrs_property_field_value.pro_id = polaracc_osrs_properties.id 
WHERE polaracc_osrs_property_field_value.field_id = 112 
发生

回答

1

你的加入需要您设置的值之前是这样的:

UPDATE polaracc_osrs_property_field_value 
     INNER JOIN polaracc_osrs_properties 
     ON polaracc_osrs_property_field_value.pro_id = polaracc_osrs_properties.id 
SET polaracc_osrs_property_field_value.value_integer = polaracc_osrs_properties.price 
WHERE polaracc_osrs_property_field_value.field_id = 112; 

希望这有助于。

+0

谢谢史蒂夫我会检查这个今天回来给你。 –

+0

史蒂夫你的传说,工作完美! –

+0

不用客气,Leon,我发现你是Stack Overflow的新手,如果你觉得答案是正确的,并且可以帮助其他人解决同样的问题,请接受它作为回答,向其他人表明这是正确的解决方案。 –