如何通过mysqlimport将\N导入为NULL而非0(无需修改源文件)
解决mysqlimport将\N转换为0,保留NULL的问题
嘿,这个问题其实很容易解决,完全不用碰你的源数据文件,只需要给mysqlimport加几个参数就行!
核心问题在于mysqlimport默认的NULL识别逻辑,你只需要明确告诉它把输入里的\N当作NULL处理,同时指定正确的字段分隔符(因为你的数据是用}分隔的)。
直接给你能用的命令示例,记得替换成你自己的数据库信息:
mysqlimport --user=你的用户名 --password=你的密码 --fields-terminated-by='}' --null '\N' 你的数据库名 你的数据文件名.txt
关键参数说明:
--fields-terminated-by='}':告诉工具你的数据字段之间是用}分隔的,完美匹配你给出的示例数据格式--null '\N':这是解决问题的核心!它会让mysqlimport把输入中的\N直接映射为数据库里的NULL值,而不是自动转换成0
这样导入之后,你示例里的那个\N就会被正确存成对应字段的NULL了,完全不需要修改源文件~
内容的提问来源于stack exchange,提问作者Badri Mo
相关产品推荐
相关产品推荐

