我正在尝试在CSV文件中向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原始查询插入。请帮忙。
答案 0 :(得分: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");
});
});