【问题标题】:SQL/PHP Create DB and load .CSVSQL/PHP 创建数据库并加载 .CSV
【发布时间】:2014-10-17 11:53:47
【问题描述】:

到目前为止,我已经删除了所有表并创建了数据库,并且正在运行。但是当我尝试创建一个新表并加载一个 .csv 文件时,它不起作用。

mysql_select_db($dbName, $dbConnection);
$sql = "CREATE TABLE ".$dbTable." (ID int(6) auto_increment NOT NULL, Username varchar(20) NOT NULL, Password varchar(20) NOT NULL, UserType int(1) NOT NULL, FirstName varchar(15) NOT NULL, LastName varchar(15) NOT NULL, DOB DATETIME NOT NULL, Phone varchar(15) NOT NULL, Department varchar(15),PRIMARY KEY(ID))";
if(mysql_query($sql, $dbConnection))
{
    echo("Table '".$dbTable."' created<br />");
}
else
{
    echo("Error creating table '".$dbTable."': ".mysql_error()."<br />");
}

$sql = "LOAD DATA INFILE 'users.csv' INTO ".$dbTable." FIELDS TERMINATED BY ',' (ID, Username, Password, UserType, FirstName, LastName, DOB, Phone, Department)";
if(mysql_query($sql, $dbConnection))
{
    echo("Added records to '".$dbTable."' table<br />");
}
else
{
    echo("Error inserting records into '".$dbTable."': ".mysql_error()."<br />");
}

【问题讨论】:

  • 您可以通过 PHPMyAdmin 导入 CSV。
  • 请准确说明错误是什么。

标签: php mysql sql csv bulkinsert


【解决方案1】:

你可以试试这个。我希望它会工作

    LOAD DATA INFILE '<filePath>' 
    INTO TABLE <tableName> 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    IGNORE 1 ROWS
    (ID, Username, Password, UserType, FirstName, LastName, DOB, Phone, Department);

【讨论】:

    【解决方案2】:

    更具体的错误,尝试输出

     mysql_error();
    

    在您的错误处理中并确保 .csv 文件路径正确。或者进入mysql错误日志并发出:

     tailf /mysql.log or tail -f /mysql.log
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多