2017-08-02 107 views
0

クエリを実行しようとしていますが、上記のエラーが発生しています。誰でも私にそれがなぜ得られているかを教えてもらえますか?#1241 - オペランドには1つの列が含まれている必要があります - なぜこれを取得していますか?

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"); 
+0

あなたのWHERE句の最初のサブクエリの選択リストだけに1つの列を返さなければなりません。

あなたは、特定の列を指定するには、このようなものが必要'attribute_id' – RiggsFolly

答えて

3

あなたはattribute_id = (select * . . .です。恐らく、eav_attributeは2つ以上のカラムを持っています。あなたが1つの列すなわちaganstそれに一致するようにしようとしているよう

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' 
         ); 
+0

それは絶対に正しいです!ありがとう、ゴードン。 –

関連する問題