我 想 在mysql 中 用 这个 :load data local infile 'mytable.txt'  into table mytable;
   就是 执行这个'mytable.txt'  的意思 ! mytable.txt  只有一行 :   zhangsan  m  2005-8-7  china   那么 我执行上边的 命令 插入的如下: mysql> load data local infile 'mytable.txt'  into table mytable;
Query OK, 1 row affected, 4 warnings (0.03 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 4mysql> select *From mytable;
+----------------------+------+------------+-----------+
| name                 | sex  | birth      | birthaddr |
+----------------------+------+------------+-----------+
| hejinxi              | f    | 1987-08-24 | china     |
| lisi                 | f    | 1988-02-06 | china     |
| lisi2                | f    | 1988-03-06 | china     |
| lisi3                | f    | 1988-04-06 | china     |
| zhangsan4            | f    | 1911-08-24 | china     |
|    zhangsan  m  2005 | NULL | NULL       | NULL      |
+----------------------+------+------------+-----------+
6 rows in set (0.00 sec) 我的 name 字段是 varchar(20) 而插入的 正好是 20个字节。。 为什么 都 为null值 差不进去 !!  
 如果 我在 mytable.txt中写入insert into mytable values('zhang','f','1987-3-9','china') ;
 那么 我在执行 load data ... 后插入为 ‘insert into mytable ’是 上边sql 的20 个字节 后边还是null 为什么 !!
 如下: 
   mysql> load data local infile 'mytable.txt'  into table mytab
Query OK, 1 row affected, 4 warnings (0.03 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 4mysql> select *From mytable;
+----------------------+------+------------+-----------+
| name                 | sex  | birth      | birthaddr |
+----------------------+------+------------+-----------+
| hejinxi              | f    | 1987-08-24 | china     |
| lisi                 | f    | 1988-02-06 | china     |
| lisi2                | f    | 1988-03-06 | china     |
| lisi3                | f    | 1988-04-06 | china     |
| zhangsan4            | f    | 1911-08-24 | china     |
|    zhangsan  m  2005 | NULL | NULL       | NULL      |
| insert into mytable  | NULL | NULL       | NULL      |
+----------------------+------+------------+-----------+
7 rows in set (0.02 sec)
 谢谢了 
   

解决方案 »

  1.   

     
     create mytable
     (
         name varchar(20) , 
         sex  char(1) ,
         birth date,
         birthaddr varchar(20)
         
     )
     这 是我的 见表 语句  !!  
      告诉大家 还有个加载文件的方法的:sql>source C:\Program Files\MySQL\mytable.txt ;
      就行 了 嘿嘿 这是 刚学会的   希望大家 回答上边的 问题哦 !! 
     
      

  2.   

    我在本机测试没有问题(当然 mytable.txt 是我自己做的),估计是你的文件有什么问题! 请上传你的这个 mytable.txt 文件 http://www.access911.net/csdn告诉大家 还有个加载文件的方法的:sql>source C:\Program Files\MySQL\mytable.txt ;
    这个不是加载LOAD 数据,是执行一个SQL脚本文件。