4

我的表中有很多产品,product_category其中 acategory_id为 5。我添加了一个新category_id的 19。如何将类别 5 中的所有产品也添加到类别 19?

我正在尝试做这样的事情:

insert into product_categories( category_id, product_id )
select 19,
   (select product_id
    from product_categories
    where category_id = 5)

但我得到一个sub query returns more than 1 row错误。

4

4 回答 4

12

试试这个:

INSERT INTO product_categories (category_id, product_id)
  SELECT 19 AS category_id, product_id 
  FROM product_categories 
  WHERE category_id =5;
于 2012-05-03T09:47:20.720 回答
2

尝试这样的事情:

INSERT INTO product_categories( category_id, product_id )
SELECT 19, product_id FROM product_categories WHERE category_id =5
于 2012-05-03T09:49:01.357 回答
2

你可以这样做:

INSERT INTO table_a (field, field, timestamp) 
 VALUES (
     (SELECT id FROM tablex WHERE id = :xid LIMIT 1),
     (SELECT id FROM tabley WHERE id = :yid LIMIT 1),
     NOW()
 )
于 2018-04-20T16:14:19.003 回答
0

尝试限制

INSERT INTO product_categories( category_id, product_id ) SELECT 19 , (

SELECT product_id FROM product_categories WHERE category_id =5 LIMIT 1)
于 2012-05-03T09:49:03.323 回答