如何使用mysql复制多行但更改一个字段
假设我有一张桌子,比如:如何使用mysql复制多行但更改一个字段,mysql,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的所有行,但将这些新行的val更改为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
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的所有行,但将这些新行的val更改为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
您想要
选择
查询还是插入
这里有一个选择
,应该适合您:
select val, cols, cole
from your_table
UNION ALL
select 5 as val, cols, cole
from your_table
where val = 2
这里有一个插入的:
insert into your_table (val, cols, cole)
select 5 as val, cols, cole
from your_table
where val = 2
为我节省了很多时间。谢谢