このテーブルはcsvファイルにあります
これで、このcsvファイルを処理する2つのmysqlテーブルがあります。
データA、B、Cはに格納する必要がTable1
ありますが、データD、E、F、G、Hはに格納する必要がありTable2
ます。
上記のフォーマットされたcsvファイルを持っていますが、そのデータをMYSQL
データベースにアップロードするにはどうすればよいですか?
同じファイルから異なるテーブルに対して入力を実行できるようにします。
このテーブルはcsvファイルにあります
これで、このcsvファイルを処理する2つのmysqlテーブルがあります。
データA、B、Cはに格納する必要がTable1
ありますが、データD、E、F、G、Hはに格納する必要がありTable2
ます。
上記のフォーマットされたcsvファイルを持っていますが、そのデータをMYSQL
データベースにアップロードするにはどうすればよいですか?
同じファイルから異なるテーブルに対して入力を実行できるようにします。
おそらくカスタムスクリプト(PHPなど)を介してのみ...
ただし、通常、CSVを2つのファイルに分割し、MySQLのLOAD_DATA関数を直接使用して両方を別々のテーブルにインポートすることは難しくありません。phpMyAdminや同様のスクリプトを使用するよりもはるかに高速になります。
これを試してみてください。うまく機能しています。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);
?>
にデータをロードしてtemporary table
から、に分割しtwo tables
ます。
その後drop
、それtemporary table
。私はどこかでphpがこれを行うことができると読んでいますが、phpコードを手伝うことはできません。