将一个数据库表的值迁移到具有不同列的另一个表中

时间:2016-11-16 20:44:29

标签: mysql sql database

我是SQL的新手,所以我认为这会有一个简单的答案,但我无法通过谷歌跟踪一个类似的例子。

我在SQL数据库中有两个表具有相似的值,但具有不同列名的列数不同。我需要将值从第一个数据库(catalog_product_entity_tier_price)迁移到第二个数据库(mb_tierprices_list),然后使用默认值填充空白。

这就是我要做的事情:

INSERT INTO catalog_product_entity_tier_price (entity_id, website_id, qty, value) 
SELECT entity_id, website_id, price_qty, percent
FROM mb_tierprices_list;

但我还需要在catalog_product_entity_tier_price中使用默认值处理另外三列:

value_id (this is set to AUTO_INCREMENT, so nothing to do there)
all_groups = 1
customer_group_id = 0

我应该将其拆分为两个查询,然后再执行第二个查询:

INSERT INTO catalog_product_entity_tier_price (all_groups, customer_group_id) 
VALUES (1, 0);

有没有一种首选方法可以实现这一目标?

1 个答案:

答案 0 :(得分:0)

只需将默认值放在您的选择中,如下所示:

INSERT INTO catalog_product_entity_tier_price (entity_id, website_id, qty, value, all_groups, customer_group_id) 
SELECT entity_id, website_id, price_qty, percent, 1, 0
FROM mb_tierprices_list;