mysql - #1241 - 操作数应包含 1 列 - 为什么我得到这个?

标签 mysql sql mysql-error-1241

<分区>

我正在尝试运行查询,但出现上述错误。任何人都可以让我知道为什么我得到它。

UPDATE `catalog_eav_attribute`
SET `used_for_sort_by` = 1
WHERE attribute_id = (
SELECT * FROM `eav_attribute` WHERE `entity_type_id` = (SELECT `entity_type_id` FROM `eav_entity_type` WHERE `entity_model` = "catalog/product") AND `attribute_code` = "created_at");

最佳答案

您有 attribute_id = (select * . . . .。据推测,eav_attribute 有不止一列。

您需要指定特定的列,如下所示:

UPDATE `catalog_eav_attribute`
    SET `used_for_sort_by` = 1
    WHERE attribute_id = (SELECT ea.attribute_id  -- this is a guess
                          FROM `eav_attribute` ea
                          WHERE `entity_type_id` = (SELECT `entity_type_id` 
                                                    FROM `eav_entity_type` 
                                                    WHERE `entity_model` = 'catalog/product'
                                                   ) AND
                               `attribute_code` = 'created_at'
                         );

关于mysql - #1241 - 操作数应包含 1 列 - 为什么我得到这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45459570/

相关文章:

php - PDO 没有显示记录 PHP

mysql - 即使 NOT NULL 也为 Null

java - 如何制定 Hibernate 标准以仅引入需要的字段

MySQL 错误 1241 : Operand should contain 1 column(s)

MySQL SP : ERROR 1241 (21000)

mysql - SQL 中的 ORDER BY 不起作用

php - 分页与加载更多?

MySQL GROUP_CONCAT() 在查询中的 LIKE 约束后产生部分答案

python - 如何根据插入的内容确定 SQL 列值的优先级?

MySQL 语法错误消息 "Operand should contain 1 column(s)"