Warnings: 2,是有2个警告啊.可能是\N转义字符MYSQL认为他是不是换行的转义,而认为是字段的内容了,然而MYSQL的警告是认为DEATH的数据类型不对?既然楼主的DEATH字段允许空,那么把\N从文本中删除掉,直接就写成
Buffy Harold dog f 1989-05-13
Fang benny dog m 1990-08-27
试试看?

解决方案 »

  1.   

    我解决问题了,但是不知道原因是什么?请指点。我添加了个line terminated by "#",然后就没有警告信息了。
    但是Win XP系统中的文本只能是每行都写在一起,不能按回车键。没有按回车的pet.txt文本如下:Bowser Diane dog m 1998-08-27 \N#Chirpy Gwen bird f 1998-09-11 \N数据库命令及显示结果:mysql> load data local infile "pet.txt" into table pet lines terminated by "#";
    Query OK, 2 rows affected (0.00 sec)
    Records: 2  Deleted: 0  Skipped: 0  Warnings: 0mysql> select * from pet;
    +--------+-------+---------+------+------------+-------+
    | name   | owner | species | sex  | birth      | death |
    +--------+-------+---------+------+------------+-------+
    | Bowser | Diane | dog     | m    | 1998-08-27 | NULL  |
    | Chirpy | Gwen  | bird    | f    | 1998-09-11 | NULL  |
    +--------+-------+---------+------+------------+-------+
    2 rows in set (0.00 sec)
    --------------------------------------------如果按下回车的话,即在“#”和“Chirpy”中间按下回车键,数据库虽然没有警告信息,但是排列都乱了,不知道这样会不会影响数据库的数据?按下回车的pet.txt文本内容:Bowser Diane dog m 1998-08-27 \N#
    Chirpy Gwen bird f 1998-09-11 \N#
    数据库命令及显示结果:mysql> load data local infile "pet.txt" into table pet lines terminated by "#";
    Query OK, 2 rows affected (0.00 sec)
    Records: 2  Deleted: 0  Skipped: 0  Warnings: 0mysql> select * from pet;
    +----------+-------+---------+------+------------+-------+
    | name     | owner | species | sex  | birth      | death |
    +----------+-------+---------+------+------------+-------+
    | Bowser   | Diane | dog     | m    | 1998-08-27 | NULL  |
    |
    Chirpy | Gwen  | bird    | f    | 1998-09-11 | NULL  |
    +----------+-------+---------+------+------------+-------+
    2 rows in set (0.00 sec)(虽然没有警告信息了,但不是象上面那样对得很整齐了)