0

私はCSVファイルからデータをロードしています.CSVファイルには約70kのレコードが含まれています.1つの列のCSVファイルの日付形式は2013年10月24日午後5時27分05秒のようで、テーブルの日付形式は(datetime 00-00-0000のようです) ) 、そのため、以下のコマンドを使用してデータ フォーム csv ファイルをアップロードすると、タイム スタンプが異なるために失敗しました。

LOAD DATA INFILE "/tmp/fulldata.csv" INTO TABLE test.customerorders COLUMNS TERMINATED BY ',' LINES TERMINATED BY '\n';

テーブルでこのタイムスタンプを修正するにはどうすればよいですか? また、データをテーブルにアップロードするにはどうすればよいですか?

4

1 に答える 1

0

次のようにデータを変換できます。

SELECT STR_TO_DATE( '10/24/2013 5:27:05 PM', '%m/%d/%Y %I:%i:%s %p' )

日時フィールドに格納します

edit : LOAD データ ファイルは、70K レコードの場合、かなり高速にロードできます。

LOAD DATA LOCAL INFILE '/filelocationfromroot' INTO TABLE `yourtablename` 
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(
`tablefieldforfirstcsvcolumn`,`tablefieldforsecondcsvcolumn`,...,@yourdatecolumn,
)
SET `datacolumnname`=STR_TO_DATE( @yourdatecolumn, '%m/%d/%Y %I:%i:%s %p' )
于 2013-10-25T05:40:17.980 に答える