我试图将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查询来插入。请帮助我。
下面是使用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");
});
});