在 TypeORM 和 MySQL 中返回插入查询的 ID

Mic*_*ł B 4 typescript typeorm

我是 TypeORM 的新手,我有问题要解决。我想知道如何在 INSERT 查询后检索 ID。我的实体中有带有 ID 号的列 @PrimaryGeneratedColumn(),我的代码看起来类似于:

await getConnection()
    .createQueryBuilder()
    .insert()
    .into(Test)
    .values([
        { firstName: "test", lastName: "test" }
     ])
    .execute();
Run Code Online (Sandbox Code Playgroud)

我想要归档的是在执行此函数后返回插入行的 ID。

编辑:我正在使用 MySQL。

那可能吗?

谢谢。

noa*_*ner 9

你可以加 .returning("your_id_column_name")

await getConnection()
    .createQueryBuilder()
    .insert()
    .into(Test)
    .values([
        { firstName: "test", lastName: "test" }
     ])
    .returning("your_id_column_name")
    .execute();

Run Code Online (Sandbox Code Playgroud)

  • 我也尝试过,但它仅受 Microsoft SQL 和 PostgreSQL 支持。我忘了提及我正在使用 MySQL。 (3认同)
  • 您是否尝试使用不同的插入策略?例如`Test.save({firstName:“test”,lastName:“test”})` (3认同)
  • 谢谢你的好主意。我不知道这个策略,现在当我使用它时,一切都按预期进行。 (2认同)

归档时间:

查看次数:

8123 次

最近记录:

4 年,5 月 前