LOAD INFILE REPLACEが期待どおりに機能しません。

LOAD INFILE REPLACEが期待どおりに機能しません。

以下のように、LOAD INFILEを使用してtxtファイルをインポートしようとしています。

LOAD DATA LOCAL INFILE '/home/xxxx/cloud_20181003.txt' INTO TABLE cloud_log_test FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (CACHECACHESTATUS,CACHERESPONSEBYTES);

正しくインポートしています。問題は、私のデータがキー値型であることです。したがって、セルを挿入すると、"CacheCacheStatus":"unknown"CacheCacheStatus列と同様に挿入されます。このように値を別々に保存する必要がありますunknown。次のように代替アイテムを追加しようとしましたが、セル全体が空白として挿入されます。

LOAD DATA LOCAL INFILE '/home/xxxx/cloud_20181003.txt' INTO TABLE cloud_log_test FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (CACHECACHESTATUS,CACHERESPONSEBYTES) SET CacheCacheStatus = REPLACE(@CacheCacheStatus,'"CacheCacheStatus":"','');

ベストアンサー1

私のクエリに「@」がありません。 :-) 私は今働いています。

LOAD DATA LOCAL INFILE '/home/xxxx/cloud_20181003.txt' INTO TABLE cloud_log_test FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (@CACHECACHESTATUS,CACHERESPONSEBYTES) SET CacheCacheStatus = REPLACE(@CacheCacheStatus,'"CacheCacheStatus":"','');

おすすめ記事