2017-07-13 23 views
0

私のCSVファイルをMySQLにインポートしようとすると、すべての日付は0000-00-00になります。CSVの日付形式をMySQLの日付形式

CSVの日付形式は、この16/11/2016のようにDD/MM/YYYYです。

MySQLフォーマットはYYYY/MM/DDです。私はこれをインポートするためにphpmyadminを使用しています。どのようにこの日付の転送を解決するには?

答えて

0

フォーマットDD/MM/YYYYは、MySQLでは有効な日付ではありません。あなたは、MySQLが認識することができ、実際の日付に日付文字列を解析するためにSTR_TO_DATEとともにLOAD DATAを使用することができます。

LOAD DATA INFILE 'path/to/file.csv' 
INTO TABLE yourTable FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' 
(
    col1, col2, @var1, col4 
) 
SET date_col = STR_TO_DATE(@var1, '%d/%m/%Y') 

上のあなたのテーブルが4列があり、3列目はあなたのCSVファイルから読んでいることをことを前提としてい面倒な日です。ここでのトリックは、各日付文字列が有効な日付タイプにフライにマッピングされ、必要な結果が残っていることです。

+0

返事をありがとう。私はここで新しいです。このコードを使用して.csvファイルを実行できる場所を教えてください。 phpmyadminの中に? – Tan

+0

これはMySQLから直接実行します。 –

+0

OKです。ありがとう、ティム。 – Tan

0

MYSQLデータベースに追加する前に日付形式を変更する必要があると思います。

$old_date = date('dd/mm/yyyy');    
$middle = strtotime($old_date);    
$new_date = date('yyyy/mm/dd', $middle); 
+0

返信いただきありがとうございます。私はここで新しいです。このコードを使用して.csvファイルを実行できる場所を教えてください。 phpmyadminの中に? – Tan