#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");
1 ответ
Решение
У тебя есть 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'
);