You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TypeORM批量插入数组时返回的ID顺序是否与插入顺序一致?

结论

TypeORM 批量插入返回的 ID 顺序和你传入的数组顺序完全一致,可以直接按索引对应使用。

逻辑说明
  • TypeORM 内部在处理批量插入时会保留传入数组的顺序,执行 INSERT 操作后,会按照插入顺序把生成的自增 ID 填充到返回结果的 identifiers 数组中,和传入参数的索引一一对应。
  • 该逻辑对 MySQL、PostgreSQL 等所有支持自增主键的数据库都生效,顺序对齐是 TypeORM 层面统一处理的,和底层数据库执行逻辑无关。
代码验证

你可以打印返回结果的 identifiers 字段确认对应关系,针对你给出的示例:

const result = await repository.insertArr(arr);
// 输出的identifiers顺序和arr顺序完全对应
console.log(result.identifiers);
// 输出结果示例:[{id: 1}, {id: 2}],对应arr[0]是first、arr[1]是second
注意事项
  • 只有当你的表主键是用 @PrimaryGeneratedColumn 修饰的自增主键时,返回的 identifiers 才会携带生成的 ID 值。
  • 如果你使用自定义主键生成规则而非自增主键,需要自行确认生成逻辑是否会影响顺序对应关系。

内容的提问来源于stack exchange,提问作者InnerPeace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:45:00