1

我在 csv 文件中有这张表

在此处输入图像描述

现在我有两个处理这个 csv 文件的 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

将数据加载到 a 中temporary table,然后拆分到two tables.

然后drop那个temporary table。我在某处读到 php 可以做到这一点,但我无法在 php 代码中提供帮助。

于 2012-04-04T08:50:58.307 回答