我在csv文件中有这个表
现在我有两个处理这个csv文件的mysql表,
数据A,B,C必须存储在Table1
中,而数据D,E,F,G,H必须存储在Table2
中。
我有上面格式化的csv文件,如何将其数据上传到MYSQL
数据库?
因此,可以对不同的表进行相同的文件输入。
答案 0 :(得分:1)
可能只能通过自定义脚本(PHP左右)......
但是,将CSV拆分为2个文件并将其直接导入MySQL中的 LOAD_DATA 函数并将其导入到单独的表中通常并不困难。它比使用phpMyAdmin或类似的脚本快得多。
答案 1 :(得分: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);
?>
答案 2 :(得分:0)
将数据加载到temporary table
,然后分成two tables
。
然后drop
temporary table
。我在哪里读到php可以做到这一点,但我无法帮助PHP代码。