Mysql 关于'的警告;加载数据填充';from.CSV-整数和日期

Mysql 关于'的警告;加载数据填充';from.CSV-整数和日期,mysql,sql,csv,load,file-io,Mysql,Sql,Csv,Load,File Io,这可能是一个非常简单的问题,但就我个人而言,当我尝试将这个CSV文件导入我的SQL表时,我看不出我遗漏了什么 我的int'idRefs'和0,我的日期'dob'都是12 31 1969 警告示例: | Warning | 1366 | Incorrect integer value: ' 10002' for column 'idRef' at row 1 | | Warning | 1265 | Data truncated for column 'dob' at row 1 LOAD

这可能是一个非常简单的问题,但就我个人而言,当我尝试将这个CSV文件导入我的SQL表时,我看不出我遗漏了什么

我的int'idRefs'和0,我的日期'dob'都是12 31 1969


警告示例:

| Warning | 1366 | Incorrect integer value: '
10002' for column 'idRef' at row 1  |
| Warning | 1265 | Data truncated for column 'dob' at row 1 
LOAD DATA INFILE语句--

只是CSV中的一些示例--

“人员”表SQL代码--

idRef
我不知道你为什么选择以双引号结束你的行,但是
行以“”
选项结尾

但是,由于您覆盖了默认的行终止符,因此实际的换行符不再被视为数据以外的任何字符;因此,在每段
id
数据的开头都有一个换行符

这实际上在警告中很明显

我会完全避免使用
,并使用正常的行尾,但快速解决方法是:
以“'\n”结尾的行

dob
出生日期有点不同,我不确定那一个,但是我会考虑把日期存储在CSV文件内的标准格式中,因为它们现在相当模糊。 请尝试
1968-15-04
,而不是
4/15/68

MySQL可能会将两年的日期
68
解释为
1968
(我会),不过,它可能会根据您的输入格式选择应用进一步的限制

DATE
类型用于包含日期部分但不包含时间部分的值。MySQL以
'YYYY-MM-DD'
格式检索和显示
DATE
值。支持的范围是
'1000-01-01'
'9999-12-31'

idRef
我不知道你为什么选择以双引号结束你的行,但是
行以“”
选项结尾

但是,由于您覆盖了默认的行终止符,因此实际的换行符不再被视为数据以外的任何内容;因此,在每段
id
数据的开头都有一个换行符

这实际上在警告中很明显

我会完全避免使用
,并使用正常的行尾,但快速解决方法是:
以“'\n”结尾的行

dob
出生日期有点不同,我不确定那一个,但是我会考虑把日期存储在CSV文件内的标准格式中,因为它们现在相当模糊。 请尝试
1968-15-04
,而不是
4/15/68

MySQL可能会将两年的日期
68
解释为
1968
(我会),不过,它可能会根据您的输入格式选择应用进一步的限制

DATE
类型用于包含日期部分但不包含时间部分的值。MySQL以
'YYYY-MM-DD'
格式检索并显示
DATE
值。支持的范围是
'1000-01-01'
'9999-12-31'


谢谢,成功了!我在其他地方借用了以“.”结尾的行,并假设我需要CSV文件中的该字符,而我显然不需要该字符!我猜“.”只是指空格/换行符@user2573020:这是完全正确的(如果有点毫无意义的话),但是您将终止符指定为
”,而不是
“\n”
,因此,实际换行符被视为数据的一部分。。。这是ID的一部分,因为它是每行的第一个标记。谢谢,它成功了!我在其他地方借用了以“.”结尾的行,并假设我需要CSV文件中的该字符,而我显然不需要该字符!我猜“.”只是指空格/换行符@user2573020:这是完全正确的(如果有点毫无意义的话),但是您将终止符指定为
”,而不是
“\n”
,因此,实际换行符被视为数据的一部分。。。因此是ID的一部分,因为它是每行的第一个标记。
mysql> LOAD DATA INFILE '/home/user/Documents/pplList.csv' INTO TABLE people 
FIELDS TERMINATED BY ',' LINES TERMINATED BY '"' IGNORE 1 LINES 
(idRef, lastName, firstName, dob, rsNum, slNum, firstVisit, pplPref, coachName);
idRef,lastName,firstName,dob,rsNum,slNum,firstAppt,pplPref,coachName"
10001,BlankA,NameA,4/15/68,1000000,4600000,3/31/08,Positive,John Jay"
10002,BlankB,NameB,10/28/78,1000001,4600001,8/19/11,Positive,John Jay"
DROP TABLE IF EXISTS people;
CREATE TABLE people
(
id   smallint unsigned NOT NULL auto_increment,
idRef   int unsigned NOT NULL,
lastName    varchar(255), 
firstName   varchar(255),
dob   date NOT NULL,
rsNum   int unsigned NOT NULL,
slNum   int unsigned NOT NULL,
firstAppt   date NOT NULL,
pplPref   varchar(255),
coachName   varchar(255),
PRIMARY KEY   (id)
);