MySQL Workbench执行LOAD DATA INFILE导入CSV时遇1083错误求助
解决MySQL LOAD DATA错误1083:Field separator argument is not what is expected
核心问题分析
错误代码1083的直接原因是LOAD DATA语句的语法错误,结合你的代码来看,主要有两处关键问题:
ENCLOSED BY '""'写法错误:双引号作为字段包围符时,只需用单引号包裹单个双引号,而非两个双引号。- Windows文件路径转义错误:原路径中的单反斜杠
\会被MySQL解析为转义字符,导致无法正确识别文件位置。
修正后的完整SQL代码
SET NAMES utf8mb4; ALTER DATABASE greenhouse CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE TABLE IF NOT EXISTS cement_emissions ( asset_id INT, iso3_country VARCHAR(3), original_inventory_sector VARCHAR(255), start_time DATETIME, end_time DATETIME, temporal_granularity VARCHAR(255), gas VARCHAR(255), emissions_quantity FLOAT, emissions_factor FLOAT, emissions_factor_units VARCHAR(255), capacity FLOAT, capacity_units VARCHAR(255), capacity_factor FLOAT, created_date DATETIME, modified_date DATETIME, asset_name VARCHAR(255), asset_type VARCHAR(255), st_astext VARCHAR(255) ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; SET GLOBAL local_infile = 1; -- 修正路径转义与包围符语法 LOAD DATA INFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\SQL projects\\Greenhouse Gas Emissions Dataset more than 80G\\manufacturing.asset_cement_emissions.csv' INTO TABLE cement_emissions FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 ROWS;
额外排查与调试步骤
- 验证CSV格式一致性
- 用Notepad++或VS Code打开CSV文件,开启"显示所有字符"功能,确认:
- 字段确实以逗号分隔,包含逗号的字段已用双引号包围
- 行结尾符为
\r\n(Windows标准格式)
- 用Notepad++或VS Code打开CSV文件,开启"显示所有字符"功能,确认:
- 权限与路径简化测试
- 确保MySQL服务账号对
Uploads目录及子目录有读取权限 - 可先将CSV文件移至
Uploads根目录,简化路径后测试,排除嵌套目录的权限问题
- 确保MySQL服务账号对
- 小批量数据验证
- 复制CSV前10行到新文件,用修正后的语句导入,确认语法和格式无误后再处理完整数据集
- 图形化工具替代方案
- 使用MySQL Workbench的「Table Data Import Wizard」(右键目标表→Table Data Import Wizard),可视化完成文件选择、字段映射,规避手动编写LOAD DATA的语法风险
内容的提问来源于stack exchange,提问作者Maxxxy MAXIMIZE YOUR WORLD Max
相关产品推荐
相关产品推荐

