我们有一个表“catalog_category_entity_varchar”,其中列为“value”、“entity_id”、“store_id”、“value_id”和“attribute_id”。
现在我们需要添加新行,从“store_id”= 1的行中复制值,并将“store_id”=替换为3。只有“value_id”不能相同,因为这是行value_id。
所以在下面的截图中,它应该添加以下行;
12626 45 3 221 Monitoren
我们已经用类似的东西试过了,但那似乎是不对的;
INSERT INTO catalog_category_entity_varchar
(
SELECT value, entity_id, attribute_id, 3 AS store_id
FROM catalog_category_entity_varchar
WHERE store_id = 1
)
1条答案
按热度按时间xwbd5t1u1#
假设
value_id
是一个唯一的自动递增列,这是如何做到这一点:Demo here
如评论中所述:您应该指定列列表,以使代码更清晰易读。
在本例中,您必须给予列列表,因为您要从总共五列中插入四列。