私のCSVファイルをMySQLにインポートしようとすると、すべての日付は0000-00-00
になります。CSVの日付形式をMySQLの日付形式
CSVの日付形式は、この16/11/2016のようにDD/MM/YYYY
です。
MySQLフォーマットはYYYY/MM/DD
です。私はこれをインポートするためにphpmyadminを使用しています。どのようにこの日付の転送を解決するには?
私のCSVファイルをMySQLにインポートしようとすると、すべての日付は0000-00-00
になります。CSVの日付形式をMySQLの日付形式
CSVの日付形式は、この16/11/2016のようにDD/MM/YYYY
です。
MySQLフォーマットはYYYY/MM/DD
です。私はこれをインポートするためにphpmyadminを使用しています。どのようにこの日付の転送を解決するには?
フォーマット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ファイルから読んでいることをことを前提としてい面倒な日です。ここでのトリックは、各日付文字列が有効な日付タイプにフライにマッピングされ、必要な結果が残っていることです。
MYSQLデータベースに追加する前に日付形式を変更する必要があると思います。
$old_date = date('dd/mm/yyyy');
$middle = strtotime($old_date);
$new_date = date('yyyy/mm/dd', $middle);
返信いただきありがとうございます。私はここで新しいです。このコードを使用して.csvファイルを実行できる場所を教えてください。 phpmyadminの中に? – Tan
返事をありがとう。私はここで新しいです。このコードを使用して.csvファイルを実行できる場所を教えてください。 phpmyadminの中に? – Tan
これはMySQLから直接実行します。 –
OKです。ありがとう、ティム。 – Tan