2013-10-10 95 views
0

我在DB 2個表:複製一個表到另一表具有不同結構

Table1 
Table1_Temp 

的Table1_Temp是從CSV生成。它與Table1幾乎相同,但不同,因爲所有Table1_Temp字段都是VARCHAR,並且它有一些不相關的字段。

我需要將Table1_Temp中的數據移動到Table1,但要保留Table1的結構,並忽略Table1_Temp中不必要的字段。

我該怎麼辦?

+1

這是MySQL還是SQL Server?兩張桌子的結構是什麼?你需要從varchar轉換爲什麼?你如何定義「不必要的領域」? – GarethD

回答

2

選擇列使用,並在您選擇

insert into table1 (col1, col2, col3) 
select cast(col1 as signed), col5, col7 
from Table1_Temp 
+0

如果在應該轉換爲INT的字段中有NULL值,我該怎麼辦? 我以前如何清潔它們? –

+0

當我嘗試去做時,我也有獨特的關鍵限制。 –

+0

你是什麼意思?你有沒有違反錯誤?你需要在你的問題中更具體。 –

0

如果兩個表是不同的數據庫(和不同的列)

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

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

FROM db2.table1_temp 

上,此功能才能將它們轉換成所需的類型如果兩個數據庫都在1臺服務器下(在本例中爲「localhost」)

相關問題