現在、MySQL データベースにインポートする多数の CSV があります。ファイルには、各レコードのタイムスタンプが含まれており、次のような形式になっています (たとえば)。
2011-10-13 09:36:02.297000000
MySQL バグ #8523 を認識しています。これは、datetime フィールドへのミリ秒の格納がサポートされていないことを示しています。それにもかかわらず、datetime フィールドが空白として入力されるのではなく、秒の後にレコードが切り捨てられることを期待していました。
問題をミリ秒単位に絞り込みました (csv などのフォーマットとは対照的に)。
2011-10-13 09:36:02
正常にインポートされます。
このデータをゼロなしでインポートする方法を誰かが提案できますか? CSV が多すぎて、それぞれを手動で入力し、タイムスタンプの長さ/形式を調整できません。
ミリ秒はあると便利ですが、私のアプリケーションには必要ないので、数値を簡単に切り捨ててインポートできるソリューションがあれば幸いです。
ありがとう!
編集: 明確にするために、次のコマンドを使用して CSV をインポートしています。
mysqlimport --fields-enclosed-by="" --fields-terminated-by="," --lines-terminated-by="\n" --columns=id,@x,Pair,Time -p --local gain [file].csv
これは、レコードをインポートするのに非常に高速です。インポートするのに約 50m あるため、各行を読み取るのは適切なオプションではありません。