使用 Query Builder 更新

你可以使用QueryBuilder创建UPDATE查询。例如:

  1. import { getConnection } from "typeorm";
  2. await getConnection()
  3. .createQueryBuilder()
  4. .update(User)
  5. .set({ firstName: "Timber", lastName: "Saw" })
  6. .where("id = :id", { id: 1 })
  7. .execute();

就性能而言,这是更新数据库中的实体的最有效方法。

原始SQL支持

在某些情况下需要执行函数SQL查询时:

  1. import {getConnection} from "typeorm";
  2. await getConnection()
  3. .createQueryBuilder()
  4. .update(User)
  5. .set({
  6. firstName: "Timber",
  7. lastName: "Saw",
  8. age: () => "'age' + 1"
  9. })
  10. .where("id = :id", { id: 1 })
  11. .execute();

此语法不会对值进行转义,你需要自己处理转义。