2014-05-16 38 views
0

我有一張學院表和一張部門表。學院表有兩列:ID和名稱,它有一些行:是否可以使用LOAD DATA INFILE與SELECT/WHERE(如INSERT ... SELECT)?

+----+-------------------------+ 
| id |   name   | 
+----+-------------------------+ 
| 1 | College of Engineering | 
| 2 | College of Science  | 
| 3 | College of Business  | 
| 4 | College of Liberal Arts | 
+----+-------------------------+ 

的部門有三列:ID,姓名和college_id

+----+------+------------+ 
| id | name | college_id | 
+----+------+------------+ 

現在我有一個CSV文件,該文件包括部門列表和他們的大學名稱:

Department of Computer Science, College of Engineering 
Department of Mathematics, College of Science 
Department of Histiry, College of Liberal Arts 

現在我要加載CSV文件導入使用LOAD DATA INFILE部門表,但表departbemt需要科爾ege_id,而csv文件只有大學名稱。 LOAD DATA INFILE條款中可以獲得學院的身份證嗎?

謝謝!

+1

你可以加載到一個臨時表(或創建一個臨時列)並從那裏操縱它嗎? – Strawberry

回答

-1
LOAD DATA LOCAL INFILE 'path to .csv' INTO TABLE college 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES 
(name) 

我希望id是auto_increment。使用這個想法創建College表,之後創建一個包含csv文件中所有列的臨時表。然後使用臨時表和大學表可以填寫部門表。

+0

學院表只有兩個字段,而不是5 ... – Ejaz

+0

這是一個例子!一般我都在解釋! – thebignoob

+0

爲什麼你在OP已經清楚地提供了他的表格的細節時提供一般查詢。請嘗試爲OP的特定上下文構建查詢。這將有助於使你的答案更相關(和更好的國際海事組織) – Ejaz