我把一个mysql表转储为CSV.在这个CSV文件中,NULL值写为\N
Now我想将此数据导入sqlite数据库,但我无法告诉sqlite \N是空值.它将其视为字符串,并将列值存储为"\ N"而不是NULL.
任何人都可以指导如何使用.nullvaluesqlite中的dot命令.我无法设置\N为nullvalue.
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>
Run Code Online (Sandbox Code Playgroud)
这是每个值之后的输出 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
Run Code Online (Sandbox Code Playgroud)
如何告诉sqlite将其\N视为NULL值?我不能使用空字符串作为NULL值,因为我的数据包含空字符串.
CSV文件仅包含文本值.无法从CSV文件导入NULL值.
要将\N值转换为NULL,请稍后使用UPDATE:
UPDATE employee SET updatedon = NULL WHERE updatedon = '\N';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3909 次 |
| 最近记录: |