我正在尝试将 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 原始查询来插入。请帮忙。
最佳答案
这是使用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");
});
});
关于MySQL LOAD DATA INFILE 不加载完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59517603/