将表复制到具有不同结构的另一个表

时间:2013-10-10 07:44:42

标签: mysql sql sql-server data-structures

我在DB中有两个表:

Table1
Table1_Temp

Table1_Temp是从CSV生成的。它几乎与Table1相同但不同,因为所有Table1_Temp字段都是VARCHAR,并且它有一些不相关的字段。

我需要将数据从Table1_Temp移动到Table1,但要保留Table1的结构,并忽略Table1_Temp中不必要的字段。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

选择要使用的列并将其转换为选择

中的必要类型
insert into table1 (col1, col2, col3)
select cast(col1 as signed), col5, col7
from Table1_Temp

答案 1 :(得分:0)

如果两个表都在不同的数据库(和不同的列)上

INSERT INTO db1.table1 (Acol1, Acol2, Acol3)

SELECT Bcol1 AS Acol1, Bcol2 AS Acol2, Bcol3 AS Acol3

FROM db2.table1_temp 

只有当两个数据库都在1台服务器(在本例中为“localhost”)

时,这才有效