社区
MySQL
帖子详情
请问MYSQL使用LOAD时如何跳过数据格式错误的行
wh62592855
2011-10-23 02:47:47
大家好,请问下MYSQL中使用LOAD功能的时候能不能跳过一些数据格式错误的行?
刚试了下,在使用MYSQL的LOAD语句时,哪怕数据文件中部分行的格式错误的话也会LOAD进去,只是报个WARNING而已。有没有什么参数指定如果数据行格式错误就跳过呢?
...全文
959
8
打赏
收藏
请问MYSQL使用LOAD时如何跳过数据格式错误的行
大家好,请问下MYSQL中使用LOAD功能的时候能不能跳过一些数据格式错误的行? 刚试了下,在使用MYSQL的LOAD语句时,哪怕数据文件中部分行的格式错误的话也会LOAD进去,只是报个WARNING而已。有没有什么参数指定如果数据行格式错误就跳过呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wh62592855
2011-10-23
打赏
举报
回复
[Quote=引用 6 楼 rucypli 的回复:]
试试set global sql_mode=traditional;
[/Quote]mysql> set session sql_mode=traditional;
Query OK, 0 rows affected (0.00 sec)
mysql> set global sql_mode=traditional;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from aa;
Query OK, 3 rows affected (0.00 sec)
mysql> load data local infile '/home/wanghai01/data/customer_20111022.dat' into table aa fields terminated by',' lines terminated by'\n';
Query OK, 3 rows affected, 1 warning (0.00 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 1
mysql> show warnings;
+---------+------+--------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------+
| Warning | 1261 | Row 1 doesn't contain data for all columns |
+---------+------+--------------------------------------------+
1 row in set (0.00 sec)
mysql> select * from aa;
+------+------------+---------------------+
| id | name | ins_date |
+------+------------+---------------------+
| 11 | 2011-01-01 | NULL |
| 33 | xx | 2011-01-01 00:00:00 |
| 22 | hehe | 2011-01-01 00:00:00 |
+------+------------+---------------------+
3 rows in set (0.00 sec)
mysql>
谢谢回答,结果还是不行。
rucypli
2011-10-23
打赏
举报
回复
试试set global sql_mode=traditional;
rucypli
2011-10-23
打赏
举报
回复
TRADITIONAL
Make MySQL的行为象“传统”SQL数据库系统。该模式的简单描述是当在列中插入不正确的值时“给出错误而不是警告”。注释:一旦发现错误立即放弃INSERT/UPDATE。
wh62592855
2011-10-23
打赏
举报
回复
[Quote=引用 3 楼 nicenight 的回复:]
要不换个思路,导入完后把格式不对的数据找出来删除掉?
[/Quote]可能不太好定位那些错误的数据。
更重要的一点是,一般业务上有完整性的要求,也就是说,要么没有数据,要么数据就是一份正确的全量。不能说只把正确的那部分数据导入进去。
nicenight
2011-10-23
打赏
举报
回复
要不换个思路,导入完后把格式不对的数据找出来删除掉?
wh62592855
2011-10-23
打赏
举报
回复
依然是报WARNINGS,而不是ERROR。并且也插入了3行数据,只不过那两行缺列的内容为NULL。
wh62592855
2011-10-23
打赏
举报
回复
刚才试了下通过SQL_MODE来控制,发现还是不行。跟文档上描述的有出入,不知道是不是版本问题
mysql> select @@session.sql_mode;
+----------------------------------------------------------------+
| @@session.sql_mode |
+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> load data local infile '/home/wanghai01/data/customer_20111022.dat' into table aa fields terminated by',' lines terminated by'\n';
Query OK, 3 rows affected, 2 warnings (0.01 sec)
Records: 3 Deleted: 0 Skipped: 0 Warnings: 1
mysql>
mysql> select version();
+------------+
| version() |
+------------+
| 5.1.45-log |
+------------+
1 row in set (0.01 sec)
mysql
读入 csv
跳过
_
mysql
使用
load
导入csv文件所遇到的问题及解决方法
使用
navicat的客户端插入csv的数据文件,有一种非常简单的方式,即
使用
导入向导,直接根据数据匹配即可。
使用
load
的方式。由于本项目中插入数据表量大而且格式统一,故首先
使用
创建字段create的方式创建表格,再
使用
load
的方式导入数据字段。
LOAD
DATA INFILE 'D:\\electric\\201503.csv'INTO TABLE hjqk_mxb_201503FIELD...
mysql
将文件插入数据库_
mysql
的
load
data,高速将文本文件,插入数据库中
1语法
LOAD
DATA [ LOW_PRIORITY | CONCURRENT ] [ LOCAL ] INFILE 'file_name.txt'[ REPLACE | IGNORE ]INTO TABLE tbl_name[ FIELDS[ TERMINATED BY 'string' ][ [OPTIONALLY] ENCLOSED BY 'char' ][ ESCAPED BY 'cha...
mysql
从txt文件导入数据并
跳过
空
行
或者
错误
行
创建表 CREATE TABLE IF NOT EXISTS `uid_pcode`( `uid` bigint, `pcode` VARCHAR(32) NOT NULL, PRIMARY KEY ( `uid` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; /mnt/data1/uid_phone.txt文件内容格式如下 1 13888888888 即:uid\tphone\n 需要对phone对称加密后存储到pcode里
mysql
-uroo
mysql
dump 导出表_
mysql
导入数据
MySQL
导入数据
MySQL
导入数据
MySQL
中可以
使用
两种简单的方式来导入
MySQL
导出的数据。
使用
LOAD
DATA 导入数据
MySQL
中提供了
LOAD
DATA INFILE语句来插入数据。 以下实例中将从当前目录中读取文件 dump.txt ,将该文件中的数据插入到当前数据库的 mytbl 表中。
mysql
>
LOAD
DATA LOCAL INFILE 'dump.txt'...
从csv文件中导入数据到
MySQL
数据库
一、Workbench客户端导入(8.0.11基本导不全且速度奇慢) 1.点击如下图标创建数据库(非必要) 2.在表类上右键导入 二、SQL语句导入(可先用上步导入,再清除数据,这样可免去设置格式等问题) 基本语法:
load
data [low_priority | concurrent] [local] infile 'file_name' [re...
MySQL
57,064
社区成员
56,761
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章