从txt加载数据Infile

时间:2013-07-30 10:11:52

标签: php mysql load-data-infile

我有一个小的txt(~130 kb)我正在尝试导入但是给我错误:“创建表时出错:一个表必须至少有一列”

if(mysql_num_rows(mysql_query("SHOW TABLES LIKE 'test'")) == 1){
   $sql = "LOAD DATA INFILE 'file.txt' INTO TABLE test IGNORE 1 LINES";

    if (mysqli_query($con,$sql)){
        echo "Import successfull.";
    }
    else{
        echo "Error importing: " . mysqli_error($con);
    }
}
else{ 
    $sql = "CREATE TABLE test"; 

    if (mysqli_query($con,$sql)){
        echo "Table created successfully";
    }
    else{
        echo "Error creating table: " . mysqli_error($con);
    }
}

txt的第一行是列名。我可以根据该名称创建列吗?或者我必须手动创建它们吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

您无法使用加载数据infile 为您动态创建列。您必须事先创建列。可以这样想,用第一行中给出的名称创建列是不够的,因为我们还需要关联的列类型(例如int,date,varchar等)。