1

csv ファイルからのデータを特定のテーブルにロードする必要があります。csv ファイルの 5 つのフィールドをテーブルにロードしています。csv ファイルの特定のフィールド値に正規表現を適用する必要があります。一致しない場合は、そのレコードを拒否する必要があります。出来ますか ?

これは私のロードデータクエリです:

LOAD DATA LOCAL INFILE ''/test.csv''
INTO TABLE TEST_TABLE FIELDS
TERMINATED BY '',''
LINES TERMINATED BY ''\n''
    (@FIELD1,@FIELD2,@FIELD3,@FIELD4,@FIELD5)
SET
    FIELD1=STR_TO_DATE(@FIELD1,''%d-%m-%Y''), FIELD2=nullif(@FIELD2,''''),
    FIELD3=nullif(@FIELD3,''''), FIELD4=nullif(@FIELD4,''''),
    FIELD5=nullif(@FIELD5,'''');

csv ファイルの field4 に入っている値が 200 または 300 の場合、そのレコードを考慮して他の値をロードする必要があります。それ以外の場合は、レコードを拒否する必要があります。

サンプルファイル::

1),234232323,ステータス,200,33

2),45454545,ステータス,300,33

3),646546445,ステータス,100,33

ここでは、1 番目と 2 番目のレコードを考慮し、3 番目のレコードは拒否する必要があります。

4

1 に答える 1

0
LOAD ...;
DELETE TEST_TABLE WHERE field4 NOT IN (200,300);
于 2015-06-10T23:25:20.223 に答える