// 重置自增id (解决bulkCreate插入数据id跳跃增长问题)
await this.ctx.frModel.Test.TestId.sequelize.query(
`ALTER TABLE 表名 AUTO_INCREMENT = 1;`,
{ type: Sequelize.QueryTypes.UPDATE }
);
// bulkCreate批量插入数据
const fields = Object.keys(data[0]);
await this.ctx.frModel.Test.TestId.bulkCreate(data, {
updateOnDuplicate: fields.filter((item) => item !== 'create_time'),
fields: fields,
});
未使用修改自增步长sql前
使用修改自增步长sql后
参考文献:
1. Mysql:使用on duplicate key update时导致自增id不连续怎么办?_on duplicate key update 导致mysql自增主键id跳跃增长-CSDN博客
2. (sequelize)bulkCreate函数中的updateOnDuplicate参数使用 - zhangzongshan - 博客园 (cnblogs.com)