2011-09-12 26 views
1

mysqlデータベースのテーブルにcsvファイルをインポートしようとしています。この表には、INT,VARCHAR(20),TIMESTAMP,TIMESTAMP、次にTINYTEXTsおよびVARCHAR(4)sの一連のデータ型を持つ141個の列があります。mysql>エラー1265:行1の列 'xxx'のデータが切り捨てられる

VARCHAR(4)のデータでは、ではないが4文字を超えている列で、7つのデータ切り捨てエラーが発生します。

私はIGNOREを続行しようとしましたが、その後、狂ったようになり、その他の細胞が壊れて、テーブル全体に散乱しました。

MS 2008 R2サーバーでSQLを実行するコマンドラインを使用しています.csvファイルはDbのディレクトリにあります。

P.S.私はmysql + importやmysql + data truncated(1265)に関連するいくつかの他の投稿とgoogleの結果を読んだが、この特定の問題をカバーしていないようだ。

ありがとうございます!

EDIT:私は一度であれば、私はINSERT 1行、それだけで正常に動作しますので、それはLOAD DATA機能とは何かを持っているかなり確信している...

輸入のための私のSQLは次のとおりです。

LOAD DATA INFILE '2011-09.csv' IGNORE INTO TABLE `survey`.`2011-09` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'; 
+0

100+ varchar/textカラム、このテーブルには何を保存していますか?悪いDBデザインのような臭い –

+0

は、120の質問の調査の結果です。以前は628のテキスト列を持つ表がありました。言うまでもありません。 – jacob

+0

VARCHAR列に使用されている文字エンコーディングは何ですか? –

答えて

1

INSERTの間、MySQLにはカラムが多すぎるかどうかが伝えられます。しかし、明らかにMySQLはあまり親切ではありません:LOADの間にはありません。は、あまりにも多くの列を持っているかどうかを教えてくれます。

関連する問題