2012-05-28 86 views
4

我想將一個表複製到另一個表。如何將沒有主鍵的表複製到另一個表

例如,我有表Data(ID, time, serial_number...),我有Temp_data(ID, time, serial_number...)

如何複製所有項目無主鍵(ID)。

我使用MYSQL, 我已經試過INSERT INTO Data SELECT * FROM Temp_data;

問題是主鍵。兩個表都已經有了值,我需要除ID以外的所有內容。

+0

是PK的鑑定者那自動遞增? – Paparazzi

+0

是的,它是...... –

+0

那麼這就是爲什麼你需要選擇其他列並離開標識符。看到答案。 – Paparazzi

回答

7

相反的SELECT *,拼出你想要的列:

INSERT INTO Data (time, serial_number...) 
    SELECT (time, serial_number...) FROM Temp_data; 
+5

我不知道它是如何與MySQL,但在PostgreSQL中,當您在字段周圍使用括號來選擇時,您將會收到錯誤。如果沒有:INSERT INTO Data(time,serial_number ...)SELECT time,serial_number ... FROM Temp_data;' –

3

您的查詢中定義的列名,否則它會插入所有列

INSERT INTO tbl2 (column1, column2) 
    SELECT tbl1.col1, tbl1.col2 FROM tbl1 
相關問題