MySQL LOAD DATA INFILE没有加载完整的数据。

问题描述 投票:1回答:1

我试图将CSV文件中的100万行数据插入到MySQL表中。每次我从node.js运行下面的脚本,它只插入部分行,每次运行脚本都会改变。

        await mysqlDB.sequelize.query(`LOAD DATA LOCAL INFILE './out.csv' 
                            INTO TABLE product_inventories_product_code_TEMP 
                            COLUMNS TERMINATED BY ','
                            OPTIONALLY ENCLOSED BY '"'
                            ESCAPED BY '"'
                            LINES TERMINATED BY '\n'
                            IGNORE 1 ROWS;`)

我不知道为什么它不能从CSV中插入所有的行。

CSV格式很简单。

id,product_code
26,STM-iY-ofyRH
27,STM-UmHBxU71
28,STM-UmHBeU71
29,STM-UmHBtU71
30,STM-UmHBwU71

我正在使用sequelize raw查询来插入。请帮助我。

mysql node.js csv sequelize.js load-data-infile
1个回答
0
投票

下面是使用nodejs在Mysql中上传csv的代码。

var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "Your UserName",
password: "Your Password",
database: "Your DB"
});

con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
var sql = "LOAD DATA LOCAL INFILE 'FilePath' REPLACE INTO TABLE YOUR_TABLE_NAME FIELDS 
TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES (Column 
names Comma Separed) set id = NULL;"
con.query(sql, function (err, result) {
if (err) throw err;
console.log("1 record inserted");
});
});
© www.soinside.com 2019 - 2024. All rights reserved.