2016-08-30 14 views
0

最近、mysqlのテーブルを新しい列で更新しました。mysqlの "データを切り捨てる"警告の表示

新しい列はvarchar(13), Null YES, Key UNI, Default NULLです。

他はすべて変更されていません。私はCSVファイルからデータをインポートしようとしています。私は問題なしでこれを常に行います。しかし、私はこの表を更新して以来、私は警告を得ています。

以下は、CSVファイルの例です。

LOAD DATA INFILE '/FILEPATH' 
INTO TABLE tablename 
FIELDS TERMINATED BY "," 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n' (column1, column2, column3, column4, column5, column6); 

6列目は新しいものである:

3517,180880CZ-075,0,0,0,5700302496246 

私が使用しているコマンドは、私がいつも使うものと同じです。

mysqlコマンドを実行すると、正常に動作しているように見えます...データは大丈夫ですが、警告が表示されているようです。私が「警告を表示」するとき、私は各行に同じメッセージを受け取ります。 "データが切り捨てられました"

私のファイルをダブルチェックし、その最後の列は13文字です。

これらの警告を受け取るために私が間違っていることについての考えはありますか?私は検索しましたが、答えを見つけることができません。私はその何かがとても明白だと確信しています!

+2

行を置き換えBY TERMINATED LINES '\ n' をし、 '\ n'ではないので、MySQLは後ろの' \ r'がカラムの一部であると考え、文字列を 'varchar(13)'に収めるためにそれを切り詰める必要があります。 16進エディタでファイルを調べてみてください。 – eggyal

+0

影響を受ける/挿入された行の数は正しいですか?区切り文字や改行が間違っている場合があります。つまり、列の1つに入るのは意図した値ではありません。 – Galz

+1

'VARCHAR(13)'は非常にかっこです。なぜそれを 'VARCHAR(255)'まで開きませんか? – tadman

答えて

1

\ rを\ N ' `私はラインが実際に終了していることを推測をハザードと思いBY TERMINATEDこの LINESと '\ rを\ n' の

+2

誰かのコメントを取って、自分の答えとしてそれに含まれるアドバイスを投稿するのはむしろ礼儀正しくない。 – eggyal

+0

[OK]を提案から回答に変更しました。問題に1つの解決策がある場合、2人の人が同じことをコメントすることができます。 –

+0

私はあなたがそれをすることができないと言わなかった。私はちょうどそれが貧しいエチケットだと言った。 – eggyal

関連する問題