【发布时间】:2017-02-26 11:28:56
【问题描述】:
我有一个 csv 文件,我正在使用LOAD DATA LOCAL INFILE 命令将它加载到 mysql 中,但我不知道为什么它只读取 5 行。
这是我的php代码:
<?php
include "../config.php";
$conn = new mysqli( $servername, $username, $password, $dbname );
if ( $conn->connect_error ) {
die( "Connection failed: " . $conn->connect_error );
} //$conn->connect_error
$sql= "LOAD DATA LOCAL INFILE 'uploads/cell.csv'
INTO TABLE table3
CHARACTER SET UTF8
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'";
$result = $conn->query( $sql );
echo("Error description: " . mysqli_error($conn));
?>
csv 文件附在下面的链接中。
执行php代码后的Mysql是这样的:
【问题讨论】:
-
您应该删除该 CSV 文件中的标题行。只需将值留在表中,然后重试。你也可以告诉 MySQL 省略一些行。看看stackoverflow.com/questions/14127529/…
-
我删除了超过 10 行,但是当我删除这些时它什么也没增加
-
我看到有些字段有多个逗号,它破坏了结构。在您的查询中使用: FIELDS TERMINATED BY ',' ENCLOSED BY '"' 而不是 FIELDS TERMINATED BY ',' 。您可以阅读本教程:mysqltutorial.org/import-csv-file-mysql-table 。另外我不确定行是否由 \r\n 终止或者只是 \n .
标签: php mysql csv load-data-infile