2011-04-14 77 views
2

说我有一个表,如:如何复制多行,但是改变一个字段与MySQL

val cols cole 
1 1 3 
2 1 5 
4 1 9 
2 6 8 
3 1 9 
1 4 9 
2 9 9 

我想要复制所有行的查询其中val = 2,但修改值5为这些新行。

,导致:

val cols cole 
1 1 3 
2 1 5 
4 1 9 
2 6 8 
3 1 9 
1 4 9 
2 9 9 
5 1 5 
5 6 8 
5 9 9 

回答

10

你要不要SELECT查询,或INSERT

这里有一个SELECT应该为你工作:

select val, cols, cole 
from your_table 
UNION ALL 
select 5 as val, cols, cole 
from your_table 
where val = 2 

下面是一个INSERT

insert into your_table (val, cols, cole) 
select 5 as val, cols, cole 
from your_table 
where val = 2 
+0

节省了大量的时间对我来说。谢谢。 – bowlerae 2014-02-21 19:48:23

相关问题