我正在尝试将.csv文件导入phpmyadmin,其中有几个字段有意留空。我需要将这些字段注册为空值,而不是只留下空白字符串。
我知道在字段属性中,您可以为每个字段选择允许“null”与“not null”,但在导入时它仍然不会将单元格更改为空值。导入后我可以手动检查每条记录上每个字段的空框,但考虑到我正在使用的数据量,这是不切实际的。
有没有办法让phpmyadmin在导入时将这些空白单元格设置为空值?
答案 0 :(得分:6)
我遇到过类似的问题。
如果您下载带有NULL值的PhpMyAdmin CSV文件,您会注意到NULL不会被引号括起来。所以你会有这样的一行:
“1”, “2”; NULL; NULL
“2”; “2”; NULL; NULL
等
但是,如果您在Open Office Calc之类的内容中编辑CSV文件,它可能会更改此选项以将引号括在NULL之内,如下所示:
“1”, “2”, “NULL”; “NULL”
“2”; “2”; “NULL”; “NULL”
等
应该做什么工作来搜索并替换[“NULL”= NULL]。
在您的情况下,因为您有空(空白)字段,您将看到进行搜索并替换如下:
[,, =,NULL,]
并且可能在行的末尾第二次传递NULL值,如下所示:
[,\ n =,NULL \ n]
答案 1 :(得分:0)
我遇到了同样的问题,jmbertucci的答案很有效。我确实遇到了另外一个问题。对于像这样的一行数据的情况
"hello","world",,,,,,
在一行中有多组空值进行搜索替换为[,, =,NULL,],因为jmbertucci建议在第一次传递时不会像你想要的那样工作。相反,你最终会以
结束 "hello","world",NULL,,NULL,,NULL
你应该继续进行搜索替换,直到你最终更换了0次
答案 2 :(得分:0)
古老的问题,但是如果像我这样的另一个MySQL菜鸟遇到它。
如果您负责CSV文件的创建,例如当您备份自己的数据库时,可以避免查找/替换rigamarole jmbertucci描述。在phpMyAdmin中,如果您选择" custom"导出方法,您会看到replace NULL with:
,默认为NULL
。只需将其更改为"NULL"
即可为您节省一步。