Error on Insert - error code 1241. operand should contain 1 column(s)

Viewed 42

I receive this error :

Error code 1241. operand should contain 1 column(s)

INSERT INTO 66_stock (
    product_stock_id,
    stock_product, 
    stock_product_categories, 
    stock_product_region, 
    stock_product_type, 
    stock_product_ranked, 
    stock_product_status
    )
VALUES (
    66, 
    'testaarea',
    (
        SELECT 
            product_categories, 
            product_region, 
            product_type, 
            product_ranked, 
            product_status 
        FROM website_products 
        WHERE product_id = 66
    )
);

can you help me ?

1 Answers

MySQL expects the subquery to return a single column - which it doesn't.

You can rewrite this as an INSERT ... SELECT statement, as follows:

INSERT INTO 66_stock (
    product_stock_id,
    stock_product, 
    stock_product_categories, 
    stock_product_region, 
    stock_product_type, 
    stock_product_ranked, 
    stock_product_status
)
SELECT 
    product_id, 
    'testaarea', 
    product_categories, 
    product_region, 
    product_type, 
    product_ranked, 
    product_status 
FROM website_products 
WHERE product_id = 66;
Related