1

このテーブルはcsvファイルにあります

ここに画像の説明を入力してください

これで、このcsvファイルを処理する2つのmysqlテーブルがあります。

データA、B、Cはに格納する必要がTable1ありますが、データD、E、F、G、Hはに格納する必要がありTable2ます。

上記のフォーマットされたcsvファイルを持っていますが、そのデータをMYSQLデータベースにアップロードするにはどうすればよいですか?

同じファイルから異なるテーブルに対して入力を実行できるようにします。

4

3 に答える 3

1

おそらくカスタムスクリプト(PHPなど)を介してのみ...

ただし、通常、CSVを2つのファイルに分割し、MySQLのLOAD_DATA関数を直接使用して両方を別々のテーブルにインポートすることは難しくありません。phpMyAdminや同様のスクリプトを使用するよりもはるかに高速になります。

于 2012-04-04T08:43:11.623 に答える
1

これを試してみてください。うまく機能しています。CSVファイルにある列の数に応じて、できるだけ多くの値を追加できます。

  <?php   

 $fname = $_FILES['csv_file']['name'];     
  $chk_ext = explode(".",$fname);             

        $filename = $_FILES['csv_file']['tmp_      name'];   
 $handle = fopen($filename, "r");      
 if(!$handle){
 die ('Cannot open file for reading');
  }      
              while (($data = fgetcsv($handle,      10000, ",")) !== FALSE)
 {
          $query = "INSERT INTO tablename        (col1_csv, col2_csv)
 values ('$data[0]', '$data[1]');
   mysql_query($query) 
   or die(mysql_error());


        $query1 = "INSERT INTO tablename        (col1_csv, col2_csv)
    values ('$data[0]', '$data[1]');
   mysql_query($query1) 
 or die(mysql_error());
 }
 fclose($handle);
  ?>
于 2012-04-04T11:22:30.610 に答える
0

にデータをロードしてtemporary tableから、に分割しtwo tablesます。

その後drop、それtemporary table。私はどこかでphpがこれを行うことができると読んでいますが、phpコードを手伝うことはできません。

于 2012-04-04T08:50:58.307 に答える