2017-04-23 214 views
0

我需要將一些數據導入到phpMyAdmin中。除日期以外,這很有效。這是我的數據:將CSV數據導入到phpMyAdmin中

1,1,"","MICROSCOPIO 40X - 600X","","SCOLAR SL8IM","SMS087008",01/02/2001,258.23,,,5,4,2,"",14,,"",,, 
2,2,"","MICROSCOPIO 40X - 600X","","SCOLAR SL8IM","SMS086980",01/02/2001,258.23,,,1,,2,"",14,,"",,, 

正如你所看到的,我試圖導入01/02/2001,但它不會工作。
我嘗試使用 '導入 - >格式= CSV - >導入' 這些分隔符:

enter image description here
但日期總是存儲像 '0000-00-00'。更改日期格式並不能解決問題,因爲我試圖將其設置爲'%d /%m /%Y',但問題仍然存在。如果我在日期之前和之後添加一個引用,例如SQL語法請求,它也不起作用。
你知道如何解決它嗎?我不想手動插入每個日期,因爲我有2160行要導入。謝謝!

回答

1

考慮使用用戶定義的變量重新格式化日期列運行MySQL的LOAD DATA INFILE命令(你可以在phpMyAdmin的查詢窗口中運行)。請注意這是一個MySQL特定的命令,因此獨立於phpMyAdmin。

具體而言,由於您正在導入21列,請根據MM/DD/YYYY格式調整第8列的日期。當然,如果您是第一天國家(即非美國),則切換%m%d。此外,請將col#名稱調整爲實際表格字段。

LOAD DATA INFILE '/path/to/my_file.csv.' 
INTO my_table 
FIELDS TERMINATED BY ',' 
(col1, col2, col3, col4, col5, col6, col7, @var1, col9, col10, col11, 
    col12, col13, col14, col15, col16, col17, col18, col19, col20, col21) 
SET col8 = STR_TO_DATE(@var1, '%m/%d/%Y'); 
1

這樣做:

  1. 在Excel查看器,如MS Excel或自由報計算器打開CSV。
  2. 格式的日期欄(點擊格式 - >單元)和日期格式轉換爲YYYY-MM-DD Format Date
  3. 一旦我們整個行表示像2001-12-31日期,嘗試從現在的phpmyadmin導入它。
+0

這是行不通的(日期仍然存儲廣告0000-00-00),無論如何感謝您的幫助! – DamiToma

+0

您可以在更改日期格式後共享csv數據嗎?因爲我試圖在我的最後測試它,因此截圖。 – gaganshera