我已将 mysql 表转储为 CSV。在此 CSV 文件中,NULL 值写为\N
现在我想将此数据导入到 sqlite 数据库中,但我无法告诉 sqlite\N
是空值。它将其视为字符串,并且该列值存储为“\N”而不是 NULL。
谁能指导一下如何使用.nullvalue
来自 sqlite 的点命令。我无法设置\N
作为空值。
sqlite> .show
nullvalue: ""
sqlite> .nullvalue \N
sqlite> .show
nullvalue: "N"
sqlite> .nullvalue '\N'
sqlite> .show
nullvalue: "\\N"
sqlite> .nullvalue "\N"
sqlite> .show
nullvalue: "N"
sqlite> .nullvalue \\N
sqlite> .show
nullvalue: "\\N"
sqlite> .nullvalue '\'N
Usage: .nullvalue STRING
sqlite> .nullvalue '\\'N
Usage: .nullvalue STRING
sqlite> .nullvalue \\N
sqlite> .show
nullvalue: "\\N"
sqlite>
这是每个值之后的输出nullvalue
sqlite> .import /tmp/mysqlDump.csv employee
sqlite> select count(*) from employee where updatedon='\N';
94143
sqlite> select count(*) from employee where updatedon is null;
0
我怎样才能告诉 sqlite 来治疗\N
作为 NULL 值?我不能使用空字符串作为 NULL 值,因为我的数据包含空字符串。
CSV 文件仅包含文本值。无法从 CSV 文件导入 NULL 值。
要转换\N
值转换为 NULL,之后只需使用 UPDATE:
UPDATE employee SET updatedon = NULL WHERE updatedon = '\N';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)