2013-12-14 40 views
1

我有一個csv文件,我需要導入到MySQL數據庫。將csv導入到mysql,然後創建多個表

我需要將數據拆分爲多個表。一個例子是它將包含預訂和聯繫表。基本上csv目前已經獲得了一行數據。

所以我想先導入到一個表中,然後遞歸地遍歷每個表並創建相關的表。

想知道人們對這個過程是否有其他想法?

任何提示將是偉大的。

乾杯

+0

聽起來不錯。我想你可以繼續如下:(A)按照你所描述的從csv導入臨時表,(B)使用「create table as select ... from initial_table」從初始表創建派生表...哪裏......「。但我不認爲有任何遞歸的必要。 – user152468

回答

0

根據您談論的表格數量,我會說您正處在正確的軌道上。

您可以將數據導入到一個表RawData中。

然後只需運行一些使表sql語句的數據。 INSERT INTO new_contact_table(id,firstname,lastname)SELECT DISTINCT contact_id,contact_firstname,contact_lastname FROM RawData;

然後對預訂數據做同樣的事情。

然後創建第三個表格,以一對多或多對多的方式鏈接前兩個表格。

+0

對於一對多關係,不需要第三個表。外鍵就足夠了。 – user152468

+0

@ user152468是正確的。如果每個預訂只有一個聯繫人,預訂表可以簡單地爲聯繫人設置一個外鍵。如果您先創建聯繫人表格,那麼當您插入預訂表格時,您可以根據已經創建的聯繫人表格選擇識別聯繫人信息,以將聯繫人ID放入預訂表格中。 – turkeyhundt