各位朋友好,想请教一下。TXT格式文件导入MySQL数据库,数据库表的第一个字段是ID。TXT文件里没有ID,怎么在导入时自动生成ID呢。如果是INSERT INTO ,会用AUTO_INCREMENT自动生成,TXT文件导入LOAD不会用了~~谢谢指教。

解决方案 »

  1.   

    load data 的语法中可以指定列名。 参考一下MYSQL官方免费手册中的语法介绍。
      

  2.   

    LOAD DATA INFILE 'file.txt'
      INTO TABLE t1
      (column1, column2)
    .....
      

  3.   

    我使用的这句话
    load data infile 'G:\LIBS\database\LIBSI.txt' into table libs('element','int','wavlenth','Aki','Ei','Ek','Ji','Jk');
    可是有错误
      

  4.   

    libs('element','int','wavlenth','Aki','Ei','Ek','Ji','Jk');为什么要画蛇添足的加上这么多引号? 注意符号的差异!
    libs(`element`,`int`,`wavlenth`,`Aki`,`Ei`,`Ek`,`Ji`,`Jk`);
      

  5.   

    CREATE TABLE `libs` (
    `ID` INT(50) NOT NULL AUTO_INCREMENT,
    `element` VARCHAR(20) NOT NULL,
    `int` INT(10) NULL DEFAULT NULL,
    `wavlenth` DOUBLE NULL DEFAULT NULL,
    `Aki` DOUBLE NULL DEFAULT NULL,
    `Ei` DOUBLE NULL DEFAULT NULL,
    `Ek` DOUBLE NULL DEFAULT NULL,
    `Ji` VARCHAR(20) NULL DEFAULT NULL,
    `Jk` VARCHAR(20) NULL DEFAULT NULL,
    PRIMARY KEY (`ID`)
    )
    COLLATE='latin1_swedish_ci'
    ENGINE=InnoDB;
    load data infile 'G:/LIBS/database/LIBSI.txt' into table libs(`element`,`int`,`wavlenth`,`Aki`,`Ei`,`Ek`,`Ji`,`Jk`);运行之后有新的错误。不好意思,没有仔细学习。能指教一下么/* SQL Error (1262): Row 1 was truncated; it contained more data than there were input columns */