2011-10-03 81 views
1

我正在開發一個項目。有兩個表格,users和mileage_registrants。我們網站的一個模塊需要用戶進行另一次註冊,除了主要訪問我們網站的註冊外。現在的問題是,我們的客戶不想做這樣的註冊,我不想改變模塊的整個架構。所以我想要做的是將user_id從表用戶導入mileage_registrants並將其他字段設置爲默認值或NULL。如何從一個表導入一些數據到另一個(MYSQL)

表mileage_registrants的結構是這樣的:

'id`, `user_id`, `team_id`, `team_leader`, `building_name`, `department`, `phone_ext`, `party_registered`, `creation_date`. 

有超過1000個用戶需要做。逐個插入數據是非常可怕的。有什麼解決方案可以很快完成這項工作嗎?謝謝

回答

10

從一個表格到另一個表格的數據可以這樣做很容易。

INSERT INTO table1 (column1,column2) SELECT oldcolumn1,oldcolumn2 FROM table2 

(任選where子句)

在文檔看看:http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

+1

打我一拳。這是對的。假設您在mileage_registrants中的ID是自動增加的,請將此字段置於查詢之外。如果你只需要真正導入一個領域,那麼做那個領域,留下你提到的剩餘10個領域。 – JM4

0

試試這個:

 
insert into mileage_registrants (`user_id`, `team_id`, `team_leader`, `building_name`, `department`, `phone_ext`, `party_registered`, `creation_date`) 
SELECT user_id,NULL,NULL,NULL,NULL,NULL,NULL,NULL from users 
+0

不需要設置NULL值,插入到一個字段並從'用戶'中選擇一個字段 – JM4

+0

如果某些字段的默認值不爲NULL,則需要它。沒有看到DDL,我走了更安全的路線。 – bot403

+0

好點。他總是可以返回並將這些字段設置爲默認NULL,但是在任何情況下,我都會認爲它們是相同的。 – JM4

相關問題