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

ファイルからデータをロードしているときに直接できるかどうかはわかりません。1 つのハックは、あなたLINE_NUMBERAUTO_INCREMENTcolumnとして保持することです。

于 2012-08-24T05:16:19.677 に答える