MySQL Workbench导入CSV中的NULL值

14

我怎么也无法让MySQL Workbench在导入CSV文件时将空单元格视为NULL。

我已经尝试过:

  • blank(空白)
  • NULL
  • \N
  • 每个选项都包括有和没有引号的情况

在我想通过工作台导入MySQL的CSV文件中,怎样才能表示一个单元格是“null”呢?


1
同样的问题...从另一个数据库使用Workbench导出,现在无法正确导入空值,看起来开发人员忘记测试导入功能了。 - szx
最终我放弃了,使用命令行导入 LOAD DATA LOCAL INFILE,但是列出所有的列标题很繁琐... - Trees4theForest
4个回答

7

自MySQL Workbench 8.0.16版本(于2019年4月25日发布)以来,新增了一个上传 .csv 文件的选项--“将null和NULL视为SQL关键字”。当选择此选项为YES时,在 .csv 文件中无引号的NULL表达式(使用 ,NULL 而非 ,"NULL")将起到相应作用。


不错的发现 - 我有时间会去看看。 - Trees4theForest
1
这个选项在哪里? - WBT

1
你可以通过将工作台更新到最新版本来解决问题。

enter image description here


1
如果您想将CSV导入模型以创建插入脚本(在此过程中,您将无法获得其他答案中描述的相同选项),请尝试以下操作:
\func NULL

您也可以使用以下语法调用函数,例如在将模型向前工程化到数据库时插入当前日期时间:
\func CURRENT_TIMESTAMP

0

我建议切换到Navicat for MySQL——即使只是为了csv表格导入向导。在多次尝试使用MySQLWorkbench导入向导处理我的CSV文件失败后,我放弃了。我记得在早期的一个项目中使用过Navicat,并且它完美地工作。对于这个导入,我能够将我的15000+行CSV文件与多个空日期时间值加载到我的MySQL表中,没有任何问题。

奇怪的是,MySQLWorkbench仍然没有解决这个烦恼。但是,在他们解决之前,Navicat提供了一个简单的替代方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接