如何解决在“:” Where 子句处或附近出现语法错误

how to resolve getting syntax error at or near ":" Where clause

我是编码新手,正在尝试培养新技能。

我在尝试根据 PostgreSQL 任务 table.

中的用户 ID 检索数据时卡住了。

我正在使用 typeorm 来实现这个 以下是我的代码

 async getTasks(
    getTasksFilterDTO: GetTasksFilterDTO,
    user: User,
  ): Promise<Task[]> {
    const { status, search } = getTasksFilterDTO;
    const query = this.createQueryBuilder('task');

    query.where('task.userId = : userId', { userId: user.id });

    const tasks = await query.getMany();
    return tasks;
  }

我在第

行遇到错误
query.where('task.userId = : userId', { userId: user.id });

错误是 [ExceptionsHandler] 语法错误,位于或接近“:”+736 毫秒 QueryFailedError:“:”或附近的语法错误:“

at new QueryFailedError (C:\tutorials\nestjs-task-management\node_modules\typeorm\error\QueryFailedError.js:11:28)
at Query.callback (C:\tutorials\nestjs-task-management\node_modules\typeorm\driver\postgres\PostgresQueryRunner.js:176:38)

有人可以帮助我理解我犯的错误吗?

您应该删除 :userId 之间的 space:

query.where('task.userId = :userId', { userId: user.id });