加载数据infile,用逗号处理字段

Mic*_*ico 4 php mysql 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}";
Run Code Online (Sandbox Code Playgroud)

并且来自csv的一行看起来像这样:

139, pg89898, op89890, 1,000,000.00
Run Code Online (Sandbox Code Playgroud)

哪里1,000,000.00是销售价值....

目前,我的数据库中只插入了什么 "1

有任何想法吗?提前致谢...

编辑

用户下载包含以下列的表单:

user id,account id,pg id,sales value

其中前三个栏user id,account id,pg id,被填充和sales value,因为用户必须手动填充它列为空白......用户使用的MS Excel这样做...

表单完成后,他现在将上传它,我正在使用该load data infile命令...

Mik*_*osh 7

您的内容应该看起来像:

"139", "pg89898", "op89890", "1,000,000.00"
Run Code Online (Sandbox Code Playgroud)

然后,您可以将以下内容添加到命令:

ENCLOSED BY '"' ESCAPED BY "\\"
Run Code Online (Sandbox Code Playgroud)

你不会有问题.

另外,如果你没有任何段落或字符串,你可以尝试,一些:

FIELDS TERMINATED BY ', '
Run Code Online (Sandbox Code Playgroud)