0

LOAD DATA INFILE は、特定のコンテンツで空の値のみを埋める必要があります。

CSV:

値 1、値 2
--------------
1 123345
2        
3 678901

期待される結果:

値 1、値 2
--------------
1 123345
2 k0000123345
3 678901

LOAD DATA INFILE .... SET .... ean = IFNULL(@d3, CONCAT('k0000',an))

...空のデータベース値が残ります。

4

1 に答える 1

2

LOAD DATA INFILE を使用している場合、入力ファイルの空のフィールドは空の文字列として扱われます (文字列型の場合)。空の文字列は と同じではありませんnull

したがって、入力の場合、空のフィールドはIFNULL()テストに失敗します。フィールド内の受信データの長さを確認し、ゼロの場合は連結します。

LOAD DATA INFILE .... SET .... ean = IF(CHAR_LENGTH(@d3)>0,@d3,  CONCAT('k0000',an))
于 2014-04-22T09:20:05.960 に答える