我有一个文件,可以包含3到4列数字,用逗号分隔。当空字段位于行的末尾时,将定义空字段:
1,2,3,4,5
1,2,3,,5
1,2,3
下表是在MySQL中创建的:
+ ------- + -------- + ------ + ------ + --------- + ------- +
| 领域| 输入| 空| 钥匙| 默认| 额外的|
+ ------- + -------- + ------ + ------ + --------- + ------- +
| 一个| int(1)| 是的| | NULL | |
| 两个| int(1)| 是的| | NULL | |
| 三个| int(1)| 是的| | NULL | |
| 四个| int(1)| 是的| | NULL | |
| 五| int(1)| 是的| | NULL | |
+ ------- + -------- + ------ + ------ + --------- + ------- +
我正在尝试使用MySQL LOAD命令加载数据:
LOAD DATA INFILE '/tmp/testdata.txt' INTO TABLE moo FIELDS
TERMINATED BY "," LINES TERMINATED BY "\n"
结果表:
+ ------ + ------ + ------- + ------ + ------ +
| 一个| 两个| 三个| 四个| 五|
+ ------ + ------ + ------- + ------ + ------ +
| 1 | 2 | 3 | 4 | 5 |
| 1 | 2 | 3 | 0 | 5 |
| 1 | 2 | 3 | NULL | NULL |
+ ------ + ------ + ------- + ------ + ------ +
问题在于,当原始数据中的字段为空且未定义时,MySQL由于某种原因不使用列默认值(即NULL)并使用零。当字段完全丢失时,正确使用NULL。
不幸的是,我必须能够在这个阶段区分NULL和0,所以任何帮助将不胜感激。
谢谢S.
编辑
SHOW WARNINGS的输出:
+ --------- + ------ + -------------------------------- ------------------------ +
| 等级| 代码| 消息|
+ --------- + ------ + -------------------------------- ------------------------ +
| 警告| 1366 | 不正确的整数值:''对于第2行的第4列'
| 警告| 1261 | 第3行不包含所有列的数据
| 警告| 1261 | 第3行不包含所有列的数据
+ --------- + ------ + -------------------------------- ------------------------ +
csv导入mysql全是null
临汾大棚 1500起/亩 先建后付 包运输
创盈
广告
CSV 导入mysql 数据库
8下载·0评论
2019年3月18日
MySql导入CSV文件或制表符分割的文件
4下载·0评论
2020年12月16日
Mysql基础
270阅读·0评论·0点赞
2019年1月18日
Mysql 导入数据的一种方法
39阅读·0评论·0点赞
2017年2月17日
python处理csv文件里的空值_如何处理csv中的空值
7746阅读·0评论·1点赞
2020年11月30日
mysql 导入csv空值,MySQL从CSV数据加载NULL值
287阅读·0评论·0点赞
2021年2月7日
MySql可以插入任何数据,但查询到的都是NULL
1598阅读·1评论·0点赞
2021年11月14日
MySQL 数据为NULL造成的问题
1296阅读·1评论·1点赞
2021年3月11日
MySql插入任何数据,查询到的都是NULL
5884阅读·0评论·2点赞
2018年7月23日
对于mysql中数据为NULL引发的一些问题和思考
2147阅读·9评论·3点赞
2021年2月11日
csv mysql 导入 mac_【mysql】MAC CSV数据导入secure_file_priv参数问题
146阅读·0评论·0点赞
2021年3月7日
csv文件导入数据库
2172阅读·0评论·0点赞
2014年1月9日
csv导入mysql_首次使用命令行Mysql导入csv数据
358阅读·0评论·0点赞
2020年11月22日
Mysql导入数据相当慢
142阅读·0评论·0点赞
2015年12月8日
mysql导入csvnull,MySQL Workbench从CSV导入NULL
127阅读·0评论·0点赞
2021年1月19日
mysql 导入csv空值_解决Mysql导入csv中空值变为0的问题:导入数据时设定格式
1073阅读·0评论·1点赞
2021年1月26日
sqlyog导入csv失败的解决方法
594阅读·2评论·4点赞
2022年8月27日
mysql导入csvnull_MySQL从CSV数据加载NULL值
516阅读·0评论·0点赞
2021年3月4日
mysql从csv文件导入数据时提示int类型出现' '(空字符串)
2550阅读·0评论·0点赞
2016年6月12日
Mysql导入csv文件时,日期全部变成空值
970阅读·0评论·1
mysql有三种导出方式,两种导出是null会变为\N,一种是null变为“NULL”字符串方法一:SELECT...INTO OUTFILEselect * from mytbl into outfile '/tmp/mytbl2.txt' fields terminated by ',' enclosed by '"' lines terminated by '\r\n'导出的文件一定不能已经存在。(这有效的防止了mysql可能覆盖重要文件。)导出时登录的mysql账号需要有FILE权限null值被处理成\N缺点:不能生成包含列标签的输出方法二:重定向mysql程序的输出导出成csv格式[root@localhost ~]# mysql -uroot -p -e "select * from mytbl" --skip-column-names test|sed -e "s/[\t]/,/" -e "s/$/\r/">/tmp/mytbl4.txtnull值被处理成字符串"NULL"方法三:使用mysqldump来导出导出成csv格式[root@localhost ~]# mysqldump -uroot -p --no-create-info --tab=/tmp --fields-enclosed-by="\"" --fields-terminated by="," --lines-terminated-by="\r\n" test mytbl tblnull值被处理成\N 对null的处理需求不同,可以选择不同的导出方式。方法三导出的文件名是固定的,对于文件名有特殊要求的情况,不适宜使用,方法三也只能导出整张表。 方法二可以和linux命令结合使用,灵活性比较大。我出现过类似情况,情况如下:我有部分字段是123等数字,有部分字段是 中文,在phpmyadmin里导入时,数据表中数字的字段有值,而中文字段就是空值,在sql窗口中中文部分是乱码。参考baidu后解决了问题:导入csv文件时,在导入标签页里,有个选择编码的地方,将编码改成gb2312,虽然我创建数据表时选用的是utf8.我的理解:csv文件的编码是gb2312的原因。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)