我有一个Sequelize迁移脚本,里面有这段代码。
const [recipeCopies, ingredientCopies] = await Promise.all([
queryInterface.bulkInsert('recipe', recipes, {
returning: true,
}),
queryInterface.bulkInsert('ingredient', ingredients, {
returning: true,
}),
]);
console.log(recipeCopies);
bulkInsert
的文档说明bulkCreate
的选项适用。选项returning
记录如下。
如果为true,则追加RETURNING以返回所有定义的值;如果是列名数组,请附加RETURNING以返回特定列(仅Postgres(
我传递true,所以我希望返回所有定义的值。相反,我返回并注销的只是";24〃;,新创建的实体的第一ID。
我做错了什么?
我使用的是MySQL 5.7和Sequelize 5.21.8。
如Sequelize
文档中所述,MySQL对于INSERT
语句不支持RETURNING
。它只适用于Postgres。