load data infile を使用する場合、コンマを含むフィールドをどのように処理しますか? 私はこのクエリを持っています:
$sql = "LOAD DATA LOCAL INFILE '{$file}' INTO TABLE sales_per_pgs
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(@user_id, @account_code, @pg_code, @sales_value)
SET
user_id = @user_id,
account_code = @account_code,
product_group_code = @pg_code,
sales_value = REPLACE(@sales_value, ',', ''),
company_id = {$company_id},
year = {$year},
month = {$month}";
csv の行は次のようになります。
139, pg89898, op89890, 1,000,000.00
は1,000,000.00
売上高です。
現在、私のデータベースに挿入されているのは のみ"1
です。
編集
ユーザーは、次のような列を含むフォームをダウンロードします。
user id
、account id
、pg id
、sales value
最初の 3 つの列user id
、account id
、pg id
が入力さsales value
れ、ユーザーが手動で入力する必要があるため、列は空白です... ユーザーは MS Excel を使用してそれを行います...
フォームが完成したら、彼はそれをアップロードします。その中で私はload data infile
コマンドを使用しています...