apply之后写入csv列为null

apply之后写入csv列为null,第1张

MySQL从CSV数据加载NULL值

我有一个文件,可以包含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的原因。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8643098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存