MySQLでCREATE TABLEステートメントを使用して、22列のテーブル(tbldemo)を作成しました。 LOAD DATA INFILEステートメントを使用して.csvファイルからデータを挿入しようとすると、次のエラーが発生します。
エラーコード:1261。行11513にすべての列のデータが含まれていません
行全体がnullまたは空である行を無視するにはどうすればよいですか?
これは私が.csvからデータをロードするために使用したものです:
LOAD DATA INFILE 'D:/Singapore/rau_sales_order.csv' INTO TABLE tbldemo
FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
.csvファイルを開き、nullでフィルタリングしてファイルからデータを削除したくありません。代わりに、クエリで直接フィルタリングを行います。これを達成する方法はありますか?
load data local infile 'C:\\temp\\abc.csv'
into table table_name
fields terminated by ',' ignore 1 lines
(@col1,@col2,@col3,@col4)
set
table.column_name = @col1,
table.column_name = @col2,
table.column_name = @col3,
table.column_name = @col4;
(@ col1、.....)列数をcsvファイルの実際の列数に拡張します。これらの列番号をテーブルの列に関連付けます。それが行われます。
これらは、これに対処するためのいくつかのオプションです。
grep -v '^\( *,\)* *$' file > newfile
)