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命令...
您的内容应该看起来像:
"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)
| 归档时间: |
|
| 查看次数: |
6128 次 |
| 最近记录: |