#1054 - 未知列 - 给定错误,而列存在

时间:2014-02-11 13:05:05

标签: mysql sql phpmyadmin

INSERT INTO  `database_name`.`table_3` (
    `value_id` ,
    `entity_type_id` ,
    `attribute_id` ,
    `store_id` ,
    `entity_id` ,
    `value`
)
SELECT NULL, 4, attribute_id_values.attribute_id, 0, table_3.entity_id, table_1.value
FROM table_4
    INNER JOIN table_1 ON table_3.entity_id = table_1.entity_id
    INNER JOIN table_1 ON table_2.value_id = table_1.value_id AND table_2.store_id = 0 AND table_2.position = 0
    CROSS JOIN
    (
       SELECT 85 AS attribute_id
    UNION
       SELECT 86 AS attribute_id
    UNION
       SELECT 87 AS attribute_id
    ) AS attribute_id_values
    WHERE table_3.sku IN ('20710','3280401s')
ON DUPLICATE KEY UPDATE table_3.value = table_1.value

字段列表:

enter image description here

所以,我收到了这个错误:

#1054 - Unknown column 'table_3.entity_id' in 'field list'

我肯定不明白为什么会出现这个问题,而我确实在某个表格中有专栏......有什么建议吗?

1 个答案:

答案 0 :(得分:1)

table_3列表中存在问题FROMFROMJOIN)。

你可能想要这样做:

SELECT NULL, 4, attribute_id_values.attribute_id, 0, table_3.entity_id, table_1.value
FROM table_1
    INNER JOIN table_3 ON table_3.entity_id = table_1.entity_id
    INNER JOIN table_2 ON table_2.value_id = table_1.value_id AND table_2.store_id = 0 AND table_2.position = 0
    CROSS JOIN
    (
       SELECT 85 AS attribute_id
    UNION
       SELECT 86 AS attribute_id
    UNION
       SELECT 87 AS attribute_id
    ) AS attribute_id_values
    WHERE table_3.sku IN ('20710','3280401s')
ON DUPLICATE KEY UPDATE table_3.value = table_1.value