MySql复制一行,修改值并插入每一行

时间:2015-07-31 11:06:06

标签: mysql

我有一个包含7个字段的表格 - 一个,product_special_id,为AUTO_INCREMENT

该表包含不同产品组的产品价格。

例如:

product_special_id: 1532 (AUTO_INCREMENT)    
product_id: 4   
customer_group_id: 3     
priority: 0      
price: 280.5000      
date_start: 0000-00-00   
date_end: 0000-00-00

我需要将分配到customer_group_id'3'的每条记录复制到同一个表中的新记录中,并使用新的customer_group_id - 让我们说'5'。

新记录的product_special_id必须是唯一的。其余五个领域保持不变。

原始记录需求保持不变。

可以这样做吗?

由于

2 个答案:

答案 0 :(得分:3)

只需使用insert . . . select

insert into t(product_id, customer_group_id, priority, price, date_start, date_end)
    select product_id, 5, priority, price, date_start, date_end
    from t
    where customer_group_id = 3;

答案 1 :(得分:0)

此查询适用于您的问题:

insert into `tablename` (product_id,customer_group_id,priority,price,date_start,date_end) 
select product_id,5,priority,price,date_start,date_end from `tablename` where customer_group_id=3

有关insert select syntax的更多信息,请参阅mysql文档。