mysql 没有读取整个文件,而是在使用“本地加载数据”时跳过行
mysql not reading the whole file, skipping rows instead while using `load data local`
在我的一个作业问题中,我需要读取一个包含 131262 行的输入文件。
以下是我读取输入的代码:
create table batsman_scored(
id int(10) unsigned auto_increment primary key,
match_id int(10),
over_id int(10),
ball_id int(10),
runs_scored int(10),
innings_no int(10)
);
load data local infile "data/batsman_scored.csv"
into table batsman_scored
fields terminated by ','
lines terminated by '\n'
ignore 2 rows
;
问题是,出于某种原因,MySQL 没有读取整个文件,相反,它在几行后被终止。我检查了输入文件,那里没有任何可疑之处。
Mysql 输出:
Query OK, 568 rows affected, 65535 warnings (0.50 sec)
Records: 131260 Deleted: 0 Skipped: 130692 Warnings: 261952
谁能告诉我,为什么要跳过这么多行? MySQL 什么时候跳过行?
我检查过 MySQL 可以存储比 568
多得多的东西。
我仍在等待答案,但评论 auto_increment
行:
create table batsman_scored(
// id int(10) unsigned auto_increment primary key,
match_id int(10),
over_id int(10),
ball_id int(10),
runs_scored int(10),
innings_no int(10)
);
load data local infile "data/batsman_scored.csv"
into table batsman_scored
fields terminated by ','
lines terminated by '\n'
ignore 2 rows
;
使用
create table batsman_scored(
id int(10) unsigned auto_increment primary key,
match_id int(10),
over_id int(10),
ball_id int(10),
runs_scored int(10),
innings_no int(10)
);
load data local infile "data/batsman_scored.csv"
into table batsman_scored
fields terminated by ','
lines terminated by '\n'
ignore 2 rows
(match_id, over_id, ball_id, runs_scored, innings_no)
;
id
列的值未存储在 CSV 中(table 包含 6 列,而 CSV 每行包含 5 个值),它们不会从文件中加载,它们在导入期间由自动增量生成。所以必须指定要加载的列列表,w/o id
column.
在我的一个作业问题中,我需要读取一个包含 131262 行的输入文件。
以下是我读取输入的代码:
create table batsman_scored(
id int(10) unsigned auto_increment primary key,
match_id int(10),
over_id int(10),
ball_id int(10),
runs_scored int(10),
innings_no int(10)
);
load data local infile "data/batsman_scored.csv"
into table batsman_scored
fields terminated by ','
lines terminated by '\n'
ignore 2 rows
;
问题是,出于某种原因,MySQL 没有读取整个文件,相反,它在几行后被终止。我检查了输入文件,那里没有任何可疑之处。 Mysql 输出:
Query OK, 568 rows affected, 65535 warnings (0.50 sec)
Records: 131260 Deleted: 0 Skipped: 130692 Warnings: 261952
谁能告诉我,为什么要跳过这么多行? MySQL 什么时候跳过行?
我检查过 MySQL 可以存储比 568
多得多的东西。
我仍在等待答案,但评论 auto_increment
行:
create table batsman_scored(
// id int(10) unsigned auto_increment primary key,
match_id int(10),
over_id int(10),
ball_id int(10),
runs_scored int(10),
innings_no int(10)
);
load data local infile "data/batsman_scored.csv"
into table batsman_scored
fields terminated by ','
lines terminated by '\n'
ignore 2 rows
;
使用
create table batsman_scored(
id int(10) unsigned auto_increment primary key,
match_id int(10),
over_id int(10),
ball_id int(10),
runs_scored int(10),
innings_no int(10)
);
load data local infile "data/batsman_scored.csv"
into table batsman_scored
fields terminated by ','
lines terminated by '\n'
ignore 2 rows
(match_id, over_id, ball_id, runs_scored, innings_no)
;
id
列的值未存储在 CSV 中(table 包含 6 列,而 CSV 每行包含 5 个值),它们不会从文件中加载,它们在导入期间由自动增量生成。所以必须指定要加载的列列表,w/o id
column.