mysql - 使用 PHPMYADMIN 更新

标签 mysql sql

下午好,

我正在尝试使用另一个表中的价格数据更新表,但是使用内部联接时出现错误。我确信这是非常愚蠢的事情,但我已经在这上面花费了一天中最好的时间,现在是寻求帮助的时候了。

如果我执行以下 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 - 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 polaracc_osrs_property_field_value INNER JOIN polaracc_osrs_properties ' at line 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

最佳答案

您需要先加入,然后再设置值,如下所示:

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;

希望这有帮助。

关于mysql - 使用 PHPMYADMIN 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36623286/

相关文章:

sql - SQL中簇索引和非簇索引的区别

mysql - 在响应/更新中找到日期之间最长和最快的差异

PHP/MySQL : Data from MySQL not display in Select Option (dropdown list)

Mysql根据时间列出记录

mysql - Hibernate继承性能

sql - 查询嵌套表

php - 阻止mysql数据库查询

mysql - 如何创建一个条件来自两个表的过程?

sql - 如何在 SQL 中选择一个月的第一天?

sql - MySQL - 分解/拆分输入到存储过程