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

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的第一行是列名。我可以根据该名称创建列吗?还是我必须手动创建它们?
谢谢!

最佳答案

您不能使用Load Data infile为您动态创建列。您必须事先创建列。用这种方式思考,用第一行中给出的名称创建列是不够的,因为我们还需要关联的列类型(例如int,date,varchar等)。

10-05 20:34
查看更多