为一行中的每列创建插入?

时间:2013-12-09 10:11:55

标签: mysql insert

我有一张桌子,看起来像那样:

value | column2value | column3value | whatever

现在对于第2和第3列中的所有值,我想在另一个表中创建一个插入,所以之后,另一个表应该是这样的:

value | column2value | whatever
value | column3value | whatever

我该怎么做?使用光标可能吗?什么是最好的方法?

注意:我最终使用游标解决问题......

2 个答案:

答案 0 :(得分:1)

试试这个:

INSERT INTO another_table (field1, field2, field3) SELECT (field1, field3, field4) FROM table;

如果需要从不同列获取数据,请使用CASE 你可以在这里阅读http://dev.mysql.com/doc/refman/5.0/en/case.html

答案 1 :(得分:0)

如果column2value和column3value属于同一类型,请使用此方法。

INSERT INTO SecondTable (val, val23, whatever) 
(
    SELECT value as val, column2value as val23 , whatever FROM FirstTable
    UNION
    SELECT value as val, column3value as val23 , whatever FROM FirstTable
)

否则,它是不可能的。