必须在“Settings”页底部Error handling区域勾选Continue on error并单独将Primary key violation设为Skip,否则即使开启容错仍会因主键冲突中断;跳过行日志需手动点击结果弹窗中的Errors导出。

导入几十万行 CSV 时,单行格式错误导致整个任务中断——这不是 bug,是 DBeaver 默认的“强一致性”行为。要跳过出错行继续导入,必须主动启用容错机制,且配置位置藏得比较深,不是所有向导页面都暴露出来。
导入向导里哪一页能打开“跳过错误”开关
这个选项不在首屏或列映射页,而是在“设置”页(Settings)的底部折叠区域。很多人导入失败后反复重试,却没点开“设置”页右下角那个小三角 ▼。
- 进入导入向导后,依次完成文件选择、编码/分隔符确认、预览、列映射
- 点击“下一步”直到出现标题为
Settings的页面 - 滚动到底部,展开
Error handling区域(默认收起) - 勾选
Continue on error—— 这才是“跳过出错行”的总开关 - 可选填
Maximum number of errors,设为0表示不限制跳过数量
主键冲突、类型不匹配、日期解析失败,各自怎么跳
DBeaver 不是简单地“跳过所有错误”,而是按错误类型提供差异化策略。同一张表导入时,可能某行因主键重复被跳,另一行因日期格式不对被转成 NULL,再一行因数字含逗号直接报错终止——这取决于你在 Error handling 区域对每类错误的显式配置。
-
Primary key violation:默认是Abort,必须手动改成Skip才跳过重复主键行 -
Data type mismatch:默认是Convert,比如把 "123" 字符串转成整数;若想跳过而非转换,需改为Skip -
Date/time parse error:没有独立选项,归在Format error下,默认Skip,但若源列目标类型是DATE且值为空字符串或 "N/A",仍可能触发终止——此时需提前用表达式转换处理 -
Foreign key constraint:默认Skip,但跳过后该行数据不会写入,也不会报错提示,容易被忽略
错误日志在哪看?跳过的行会不会丢数据
跳过不等于消失。DBeaver 会把每一行跳过的记录(含原始内容、行号、错误原因)完整记入内存中的 loadErrors 列表,导入完成后统一输出。关键在于:你得主动点开看,它不会弹窗提醒。
- 导入结束后,结果弹窗里如果出现红色
Errors: X,点击它才能进入错误日志页 - 日志页顶部有
Export errors按钮,可导出为 CSV 或 JSON,方便用脚本二次清洗 - 被跳过的行,其原始数据仍保留在日志里,但不会写入数据库——所以“跳过”是安全的,不是静默丢弃
- 注意:日志只保留本次导入的错误,关闭窗口即清空;如需长期存档,务必导出
真正容易被忽略的点是:Continue on error 开关虽然打开了,但主键冲突这类关键错误类型仍保持默认 Abort,结果还是中断。必须挨个检查错误类型的子选项,而不是只勾一个总开关。


















