首页 > 解决方案 > 插入错误 - 错误代码 1241。操作数应包含 1 列

问题描述

我收到此错误:

错误代码 1241。操作数应包含 1 列

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
    )
);

你能帮助我吗 ?

标签: mysqlsqldatabaseselectsql-insert

解决方案


MySQL 期望子查询返回单个列——它没有。

您可以将其重写为INSERT ... SELECT语句,如下所示:

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;

推荐阅读