最近、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文字です。
これらの警告を受け取るために私が間違っていることについての考えはありますか?私は検索しましたが、答えを見つけることができません。私はその何かがとても明白だと確信しています!
行を置き換えBY TERMINATED LINES '\ n' をし、 '\ n'ではないので、MySQLは後ろの' \ r'がカラムの一部であると考え、文字列を 'varchar(13)'に収めるためにそれを切り詰める必要があります。 16進エディタでファイルを調べてみてください。 – eggyal
影響を受ける/挿入された行の数は正しいですか?区切り文字や改行が間違っている場合があります。つまり、列の1つに入るのは意図した値ではありません。 – Galz
'VARCHAR(13)'は非常にかっこです。なぜそれを 'VARCHAR(255)'まで開きませんか? – tadman