繁体   English   中英

MySQL加载数据infile插入双引号

[英]mysql load data infile inserting double quotes

嗨,我知道这个问题不仅是出于我的考虑,也是为了每个使用mysql LOAD DATA INFILE的用户。

我只想知道为什么每次使用装入数据infile导入数据时都收到双引号(“”)? 来自csv的数据已成功添加到数据库中,但是在该值中有一个双引号。 例如。

“ value1” | “ value2” | “值3”

有什么帮助吗? 这是我的mysql脚本。

echo $mysql = "LOAD DATA LOCAL INFILE '".$path ."' 
        REPLACE INTO TABLE table
        FIELDS 
            TERMINATED BY ',' 
        LINES 
            TERMINATED BY '\\n'
        IGNORE 1 LINES 
        (`column1`, `column2`, `column3`, `column4`..)";

        $query = mysqli_query($link, $mysql) or die(mysqli_error($link));

谢谢

我从您的问题中猜测,您的infile值与此类似,

"column1","column2","column3","column4"
"column1a","column2a","column3a","column4a"

因为在你的mysql的语句,你只说,字段由一个结束,它会读取高达MySQL的引擎的值找到, ,因此qoutes。

声明字段是否被某些东西包围的mysql语法如下所示;

FIELDS ENCLOSED BY '"'

您的新查询看起来像,

"LOAD DATA LOCAL INFILE '".$path ."' 
    REPLACE INTO TABLE table
    FIELDS 
        TERMINATED BY ',',
        ENCLOSED BY '"'
    LINES 
        TERMINATED BY '\\n'
    IGNORE 1 LINES 
    (`column1`, `column2`, `column3`, `column4`..)"

这告诉MySQL的引擎来寻找的人物" ,并采取该值作为字段值。

您可以在mysql网站上阅读有关它的更多信息。

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

希望这对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM