导入到 phpmyadmin 时如何设置空值?

Posted

技术标签:

【中文标题】导入到 phpmyadmin 时如何设置空值?【英文标题】:How to set null values while importing to phpmyadmin? 【发布时间】:2011-06-08 03:28:15 【问题描述】:

我正在尝试将 .csv 文件导入 phpmyadmin,其中几个字段故意留空。我需要将这些字段注册为空值,而不仅仅是保留为空白字符串。

我知道在字段属性中,您可以为每个字段选择允许“null”与“not null”,但在导入时它仍然不会将单元格更改为 null 值。导入后,我可以手动检查每条记录上每个字段的空框,但考虑到我正在处理的数据量,这是不切实际的。

有没有办法让 phpmyadmin 在导入时将这些空白单元格设置为空值?

【问题讨论】:

好像不太清楚。在我的情况下,在 csv 中有一个 NULL 字符串使该字段“空”但不是 NULL。在命令行导入中使用 \N 会给出字符串“\N”。我会继续探索,希望能回来。 我发现了这个:***.com/questions/9282154/… 但对我来说 OOTB 不起作用。它可能与“字段内.. 【参考方案1】:

我也遇到过类似的问题。

如果您下载具有 NULL 值的 PhpMyAdmin CSV 文件,您会注意到 NULL 没有被引号封装。所以你会有这样的一行:

"1";"2";NULL;NULL

"2";"2";NULL;NULL

等等

但是,如果您在 Open Office Calc 之类的工具中编辑 CSV 文件,它可能会将其更改为在 NULL 周围加上引号,如下所示:

“1”;“2”;“空”;“空”

“2”;“2”;“空”;“空”

等等

应该对 ["NULL" = NULL] 进行搜索和替换。

在您的情况下,因为您有空(空白)字段,您将考虑像这样进行搜索和替换:

[,, = ,NULL,]

并且可能在行尾第二次传递 NULL 值,如下所示:

[,\n = ,NULL\n]

【讨论】:

【参考方案2】:

古老的问题,但万一像我这样的另一个 mysql 菜鸟遇到它。

如果您负责创建 CSV 文件(例如,当您备份自己的数据库时),则可以避免查找/替换 rigamarole jmbertucci 描述的操作。在 phpMyAdmin 中,如果您选择“自定义”导出方式,您将看到replace NULL with:,默认为NULL。只需将其更改为"NULL",您就可以省去一步。

【讨论】:

【参考方案3】:

我遇到了同样的问题,jmbertucci 的回答效果很好。我确实遇到了另一个问题。在有这样一行数据的情况下

"hello","world",,,,,,

它在一行中有多组空值,用 [,, = ,NULL,] 进行搜索替换,正如 jmbertucci 建议的那样,在第一次通过时不会像您预期的那样工作。相反,您最终会得到 ​​p>

"hello","world",NULL,,NULL,,NULL

您应该继续进行搜索替换,直到最终替换为 0 次

【讨论】:

以上是关于导入到 phpmyadmin 时如何设置空值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使表不在phpmyadmin中的非空集字段中取空值?

phpmyadmin导入内存错误

如何在 phpMyAdmin 中增加导入大小限制

如何利用phpmyadmin导入和导出mysql数据库

如何通过网络在 xampp phpmyadmin 上导入 sql

如何在 phpmyadmin 中导出收藏的表列表并在需要时导入?