0

我正在使用 MySQL 的 LOAD DATA LOCAL INFILE 功能将记录行从文本文件加载到表中。一切正常,但我想知道如何将文本文件中的行号插入表的 LINE_NUMBER 列?

public String getLoadDataSQL() throws Exception {

    StringBuffer sb = new StringBuffer();
    sb.append( "LOAD DATA LOCAL INFILE '"+ filePath +"' INTO TABLE "+ this.tableName );
    sb.append( " LINES TERMINATED BY '\\n'");
    sb.append( " (@line) ");
    sb.append( " SET ROLL_NUMBER = substr(@line,1,9),  ");
    sb.append( " LAST_NAME = substr(@line,10,30),  ");
    ....
    sb.append( " LINE_NUMBER = "+ ????? +",  "); // WHAT TO DO HERE??
    ...
    System.out.println(sb.toString());
    return sb.toString();
}

你能建议我怎么做吗?

4

1 回答 1

1

当您从文件加载数据时,不确定是否可以直接执行此操作。一个技巧是将你的LINE_NUMBER作为一个AUTO_INCREMENT专栏

于 2012-08-24T05:16:19.677 回答