LOAD DATA INFILE不与FIELDS TERMINATED BY一起使用

int*_*ris 0 php mysql file-io load-data-infile

我在php脚本中使用下面的sql:

$sql1 = "LOAD DATA LOCAL INFILE 'test1.csv' INTO TABLE number1 (order_num,pname)";
$sql2 = "LOAD DATA LOCAL INFILE 'test1.csv' INTO TABLE number1 (order_num,pname) FIELDS TERMINATED BY ':'";
if ($result = $mysqli->query($sql)) {
    printf("<br>Section 4: %s",$mysqli->error);
    printf("|$result|$table");
} else {
    printf("<br>Section 5: %s",$mysqli->error);
}
Run Code Online (Sandbox Code Playgroud)

如果我$sql1正确地使用它会在db中带来3行(不会将它们分成正确的字段).没有错误返回.如果我使用$sql2它返回消息:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIELDS TERMINATED BY ':'.."

我尝试了不同的顺序,使用ENCLOSED BY和/而不是它.我能想到的一切.有人有建议吗?

irc*_*ell 5

检查文档 ......字段声明必须在声明终止字段之后:

$sql2 = "LOAD DATA LOCAL 
            INFILE 'test1.csv' 
            INTO TABLE number1 
            FIELDS TERMINATED BY ':'
            (order_num,pname)";
Run Code Online (Sandbox Code Playgroud)