我正在尝试导入一个小的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等)。