如何将CSV导入MySQL Workbench?两种导入方式报错求助
问题描述
1. Table Data Import Wizard 导入失败
尝试通过MySQL Workbench的Table Data Import Wizard导入约60万行CSV文件时,执行步骤(右键数据库→Table Data Import Wizard→选择CSV→下一步→下一步)后出现以下错误:
Prepare Import... Prepare Import done Import data file.... - Truncate table - Prepare Import Traceback (most recent call last): File "C:\Program Files\MySQL\MySQL Workbench 8.0\workbench\wizard_progress_page_widget.py", line 197, in thread_work self.func() File "C:\Program Files\MySQL\MySQL Workbench 8.0\modules\sqlide_power_import_wizard.py", line 131, in start_import retval = self.module.start(self.stop) File "C:\Program Files\MySQL\MySQL Workbench 8.0\modules\sqlide_power_import_export_be.py", line 300, in start ret = self.start_import() File "C:\Program Files\MySQL\MySQL Workbench 8.0\modules\sqlide_power_import_export_be.py", line 430, in start_import self._editor.executeManagementCommand(query, 1) grt.DBError: ("Unknown column 'None' in 'field list'", 1054) ERROR: Import data file: ("Unknown column 'None' in 'field list'", 1054) Failed
2. LOAD DATA LOCAL INFILE 权限错误
执行以下SQL语句导入时:
LOAD DATA LOCAL INFILE 'D:\REPORTING_GENERAL.csv' INTO TABLE reporting_general FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
出现权限错误:
Error Code: 2068. LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
解决方案
解决「Unknown column 'None' in 'field list'」错误
- 检查CSV表头:确认CSV第一行的列名无空值、无特殊字符或拼写错误,空表头会被向导识别为
None,导致生成错误的字段映射。 - 手动配置字段映射:在导入向导的Configure Import Settings步骤,仔细核对每个字段的对应关系,删除或修正显示为
None的列。 - 提前创建目标表:手动创建与CSV列名、数据类型完全匹配的目标表,导入时选择「使用现有表」,避免向导自动生成错误的表结构。
解决「Error Code: 2068」权限错误
1. 配置MySQL Workbench连接
- 打开Workbench,选中目标连接,点击「编辑连接」。
- 切换到「高级」标签,在「其他参数」中添加:
local-infile=1。 - 保存设置后重新连接数据库。
2. 调整MySQL服务器配置(可选)
- 找到MySQL配置文件(Windows为
my.ini,Linux为my.cnf),在[mysqld]段添加:local_infile = 1 - 重启MySQL服务使配置生效。
3. 修正SQL语句
- Windows路径需用双反斜杠或正斜杠,若CSV包含表头需添加
IGNORE 1 ROWS跳过第一行:LOAD DATA LOCAL INFILE 'D:\\REPORTING_GENERAL.csv' INTO TABLE reporting_general FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' -- Windows格式CSV用\r\n,Linux用\n IGNORE 1 ROWS;
内容的提问来源于stack exchange,提问作者Imran
相关产品推荐
相关产品推荐

