导入到 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 时如何设置空值?的主要内容,如果未能解决你的问题,请参考以下文章