Mysql:将一个列数据插入另一个

时间:2011-06-06 16:28:06

标签: mysql

我对mysql并不擅长。但是想要改进它,以便能够在没有服务器端语言的情况下操作表。

我有一张桌子和两列。我需要从一列中选择数据并将其作为行插入到同一个表中。

据我所知,我需要选择此列数据,将其保存在临时表或变量中 然后遍历结果并插入它们。

但不知道该怎么做。

有人可以用一个简单的例子来帮助。

谢谢;)

更新 表:

id  col1   col2
1   txt    txt4
2   txt2   txt5
3   txt3   txt6

我需要合并col1和col2

最终结果:

id  col1
1   txt
2   txt2
3   txt3
4   txt4
5   txt5
6   txt6

3 个答案:

答案 0 :(得分:8)

这应该有效

insert into tablename
(col1_name)
select (col2_name) from tablename;

这将从第2列中选择所有数据,并将其作为新行插入第1列。然后,您可以通过执行以下操作删除第二列:

alter table tablename drop col2_name;

只需将tablename替换为您的表名称,并使用列名称替换列名称。另外,请确保两个列数据类型彼此兼容。

祝你好运!

答案 1 :(得分:3)

如果我读的正确,你想合并col1和col2 ??然后,试试这个

alter table table1 add column col3 varchar(255);

update table1 set col3 = concat(col1, " ", col2);

alter table table1 drop column col1;
alter table table1 drop column col2;

答案 2 :(得分:0)

您可以使用同一张桌中的INSERT ... SELECT