我尝试使用Sequelize在我的数据库中插入多行但由于某些约束违规而导致for循环卡住。
let dataset = [
["2016-01-01","987"],
["2016-01-02","987"],
["2016-01-03","987"],
["2016-01-04","987"],
["2016-01-05","987"],
["2016-01-06","987"],
["2016-01-07","987"],
...
];
for(let row of dataset) {
model.findOrCreate({
where: {date_prc: row[0]},
defaults: {value: row[1]}
});
}
当我查看SQL日志时,它正在检查是否已插入日期,如果不是,则尝试插入该行。但在某些情况下,要插入缺少的日期行,它会插入下一个日期。
例如在我看到的日志中:
select 2016-01-03 // this one is missing
select 2016-01-04 // this one is not missing
insert 2016-01-04 // it is inserting 2016-01-04 instead of 2016-01-03