调用mysql_query执行LOAD DATA LOCAL INFILE,但只导入了文件中的部分记录。
比如文件中有50条记录,实际只导入了37条。
而手工执行相同的命令LOAD DATA LOCAL INFILE,则没有任何问题,50条记录全部导入。有人碰到过这样的事情吗?

解决方案 »

  1.   

    贴出你的 show create table
    另外上传你的这文件,
    再列出哪37条记录已经被成功LOAD。
      

  2.   

    可以上传到 http://www.access911.net/csdn
      

  3.   

    CREATE TABLE `t_user_info` (
      `rowid` int(11) NOT NULL auto_increment,
      `service_class` smallint(6) NOT NULL default '0',
      `user_num` varchar(100) NOT NULL default '',
      `service_type` varchar(12) NOT NULL default '',
      `curpay_way` smallint(6) NOT NULL default '0',
      `pay_list` varchar(12) NOT NULL default '0',
      `first_open_time` datetime NOT NULL default '1970-01-01 08:00:00',
      `last_open_time` datetime NOT NULL default '1970-01-01 08:00:00',
      `last_close_time` datetime NOT NULL default '1970-01-01 08:00:00',
      `service_state` char(1) NOT NULL default '',
      `modify_time` datetime NOT NULL default '1970-01-01 08:00:00',
      PRIMARY KEY  (`rowid`),
      UNIQUE KEY `idx_user_info` (`user_num`,`service_type`,`service_class`),
      KEY `idx_servicetype` (`service_type`),
      KEY `idx_payway` (`curpay_way`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1mysql_query调用的sql语句为:
    LOAD DATA LOCAL INFILE './t_user_info_00.txt' IGNORE INTO TABLE t_user_info FIELDS TERMINATED BY ',' (service_class,user_num,service_type,curpay_way,pay_list,first_open_time,last_open_time,last_close_time,service_state,modify_time);
      

  4.   

    上传的文件地址为:
    http://access911.net/csdn/FileDescription.asp?mdb=2010-9-30&id=36
    我这边只导入了前38条记录感兴趣的可以试一下,呵呵
      

  5.   

    load data local infile .... lines terminated by '\n'
    或者'\r\n' 试试?
      

  6.   

    一样的,mysql下手工执行该命令就能正常全部导入